Получение количества заполненных ячеек в столбце (VBA) - PullRequest
18 голосов
/ 14 июля 2010

Мой первый столбец - это индекс с монотонно растущими числами, который заканчивается в непредсказуемой точке.Теперь я хочу узнать, сколько записей в этом столбце.Есть ли лучший способ, чем повторять это и следить за пустой ячейкой?

Ответы [ 5 ]

18 голосов
/ 07 октября 2011

Если вы хотите найти последнюю заполненную ячейку в определенном столбце, лучшим методом будет:

Range("A" & Rows.Count).End(xlUp).Row

Этот код использует самую последнюю ячейку во всем столбце (65536 для Excel 2003, 1048576 в более поздних версиях), а затем находит первую заполненную ячейку над ним. Это позволяет игнорировать «разрывы» в ваших данных и находить истинную последнюю строку.

15 голосов
/ 14 июля 2010

Один из способов: (Предполагается, что столбец индекса начинается с A1)

MsgBox Range("A1").End(xlDown).Row

, который ищет первую незанятую ячейку вниз от A1 и показывает ее порядковый номер строки.

Вы можете выбрать следующую пустую ячейку с помощью:

Range("A1").End(xlDown).Offset(1, 0).Select

Если вам нужен конец набора данных (включая пробелы), попробуйте: Range ("A: A"). SpecialCells (xlLastCell) .Row

5 голосов
/ 14 июля 2010

Вы также можете использовать

Cells.CurrentRegion

, чтобы задать диапазон, представляющий границы ваших данных на текущем активном листе

Msdn говорит по теме

Возвращает объект Range, представляющий текущий регион.Текущий регион - это диапазон, ограниченный любой комбинацией пустых строк и пустых столбцов.Только для чтения.

Затем вы можете определить количество столбцов с помощью

Cells.CurrentRegion.Columns.Count

и количество строк с помощью

Cells.CurrentRegion.Rows.Count
4 голосов
/ 02 июля 2011

Вы также можете использовать:

UsedRange.Rows.Count
2 голосов
/ 06 марта 2013

Чтобы найти последний заполненный столбец, используйте следующее:

lastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...