найти номер строки первой пустой ячейки в первом столбце в Excel через VBS - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь найти номер первой пустой строки в моем листе в excel через vbscript.Кто-нибудь может мне помочь, как это сделать?вот что я сделал:

With objSheet
    iRow = .Range("A" & .Rows.Count).End(xlUp).Row
End With
msgbox iRow

Не работает, если лист пустой.Спасибо!

Ответы [ 4 ]

0 голосов
/ 08 октября 2018

Чтобы получить ПЕРВУЮ пустую ячейку в столбце, вы можете использовать:

With objSheet
    If .Range("A1") = "" Then
        iRow = 1
    ElseIf .Range("A2") = "" Then
        iRow = 2
    Else
        iRow = .Range("A1").End(xlDown).Offset(1, 0).Row
    End If
End With

Вы должны сначала проверить, пуста ли первая строка или вторая строка, потому что End(xlDown) ведет себя иначе, если строка 1 не являетсяПустая и вторая строка пуста, она может быть пропущена и возвращает неправильное значение.

0 голосов
/ 08 октября 2018

Ваш теперь модифицированный скрипт (с xlup) вернет последнюю НЕ пустую строку в столбце;если столбец не пуст, в этом случае он вернет 1.Поэтому, если вам нужна первая пустая строка, вам нужно добавить 1.

, если , то скрипт вернет 1.В этом случае вам нужно проверить A1, чтобы увидеть, пусто оно или нет, и только добавить 1, если оно есть.

0 голосов
/ 08 октября 2018

ответ, как вы сказали, его:

With objSheet
    If objSheet.Cells(1,1).value = "" Then
        iRow = 1
    else
        iRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    End If
End With

спасибо, ребята

0 голосов
/ 08 октября 2018

Вы можете проверить, выполнив xlDown, достигните ли вы строки 1048576 (это последняя строка на листе).

...