Как определить количество строк в данных и использовать это значение при определении диапазона

0

В моем макросе есть строка:

Selection.AutoFill Destination:=Range("A2:A86893")

но окончательный номер ячейки (86893), то есть общее количество строк в моих данных, должен изменяться при каждом запуске макроса. Мне нужен этот макрос, так как мой объем данных увеличивается с каждым разом, но до сих пор мне приходилось менять адрес вручную.

Можно ли поместить формулу вместо номера ячейки в определение диапазона, что-то вроде:

A2:A(counta(b:b))

где формула counta(b:b)дает мне общее количество строк.

senefro
источник

Ответы:

0

Да, вам просто нужно создать строку, которая даст адрес диапазона. В вашем случае вы можете сделать что-то вроде:

Range("A2:A" & CStr(Evaluate("=CountA(B:B)"))

Чтобы определить диапазон, который вы хотите заполнить.

В качестве дополнительного совета вы должны стараться избегать использования Select-statements при определении ваших диапазонов. Попробуйте это для интересного чтения.

eirikdaude
источник
0

Чтобы найти последнее значение в вашем диапазоне, используйте этот простой фрагмент -

Dim lrow As Integer
lrow = Cells(Rows.Count, "B").End(xlUp).Row

Теперь вы можете использовать его в своем диапазоне, как Range("A2:A"&lrow)

Raystafarian
источник