Мой первый столбец является индексом с монотонно растущими числами, который заканчивается в не предсказуемой точке. Теперь я хочу узнать, сколько записей этот столбец имеет. Существует ли лучший путь, чем итерация через это, и не упустите пустую ячейку?
Один из способов: (Предполагается, что столбец индекса начинается с A1)
MsgBox Range("A1").End(xlDown).Row
Которая ищет 1-ю незанятую ячейку вниз от A1 и показывает вам ее порядковый номер строки.
Вы можете выбрать следующую пустую ячейку с помощью:
Range("A1").End(xlDown).Offset(1, 0).Select
Если вам нужен конец набора данных (включая пробелы), попробуйте: Range ("A: A"). SpecialCells (xlLastCell) .Row
Вы также можете использовать
Cells.CurrentRegion
, чтобы дать вам диапазон, представляющий границы ваших данных на текущем активном листе
Msdn говорит в теме
Возвращает объект Range, представляющий текущий регион. Текущий регион это диапазон, ограниченный любой комбинацией пустых строк и пустых столбцов. Только для чтения.
Затем вы можете определить количество столбцов через
Cells.CurrentRegion.Columns.Count
и количество строк через
Cells.CurrentRegion.Rows.Count