VBA код Lastrow = значение ячейки - PullRequest
0 голосов
/ 30 мая 2018

Я обычно использую следующий код для поиска последней строки.

Dim Lastrow As Integer
Lastrow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row

Это прекрасно работает, когда я не знаю, какой должна быть моя последняя строка.Я пытаюсь использовать его следующим образом.

Dim Lastrow As Integer
Lastrow = Range("U3").Value

Когда я отлаживаю код и наведите курсор на диапазон

"(" U3 "). Значение"

показывает

"диапазон (" U3 "). Значение = 558"

, но при наведении на

«Lastrow»

говорит

«Lastrow = Empty»

вместо 558.

Причина, по которой яя пытаюсь использовать это потому, что данные извлекаются из основного списка, поэтому я не могу использовать функцию Rows.Count.Вместо этого я сделал подсчет определенного значения, которое я фильтрую, и использовал его в качестве последней строки.

Как мне узнать, что я хочу установить для переменной "Lastrow" значение, найденное в U3?

1 Ответ

0 голосов
/ 30 мая 2018

Если я вставляю «558» в ячейку A3 (не U3) и запускаю этот код, он выдает «558» в ближайшем окне:

Sub test()

    Dim Lastrow As Integer
    Dim sheet1 As Worksheet

    Set sheet1 = ActiveSheet
    Lastrow = sheet1.Range("A3").Value2
    Debug.Print Lastrow

End Sub

Конечно, когда вы проходите через него с помощью отладчика инаведите курсор на строку, в которой устанавливается Lastrow, он говорит «Lastrow = 0», но это только потому, что переменная еще не установлена.Очевидно, что он действительно устанавливается правильно, так как оператор Debug.Print в следующей строке дает ожидаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...