Как использовать макрос VBA, чтобы узнать, сколько строк и столбцов используется в таблице Excel
В зависимости от версии Excel в таблице предлагается разное количество строк и столбцов. Как узнать в макросе, что нужно перебрать все строки или столбцы таблицы?
Если в Excel до версии 2003 включительно было только 256 столбцов и 65 536 строк, то с Excel 2007 доступно 16 384 столбца и 1 048 576 строк.
В Excel также есть разные форматы хранения двух разных электронных таблиц: XLS и XLSX. Однако это не тот случай, когда файл XLSX должен автоматически содержать рабочие листы большего размера. Даже в Excel 2007 и Excel 2010, когда файл открывается в режиме совместимости, доступны только более ранние измерения таблицы.
Следовательно, если вы хотите определить в макросе, сколько строк и столбцов имеет рабочий лист, вам следует запросить это число напрямую. Следующий макрос показывает, как это сделать.
Sub RowUndColumnNumber ()
MsgBox ActiveSheet.Cells.Rows.Count & "Строки" & _
ActiveSheet.Cells.Columns.Count и «Столбцы».
Конец подписки
Если вы вызываете макрос с листом XLS, Excel покажет вам соответствующее количество строк и столбцов, как показано на следующем рисунке:
Если вы запускаете макрос из Excel 2007 или Excel 2010 без режима совместимости, в диалоговом окне отображаются большие размеры таблицы:
В циклах VBA, которые должны проходить через все ячейки таблицы, вы можете использовать два свойства ROWS.COUNT и COLUMNS.COUNT, как описано, для определения размеров рабочего листа.
Прохождение всех теоретически доступных ячеек с помощью макроса может занять много времени (особенно в Excel 2007 и Excel 2010). Если вы хотите ограничить петли только используемой областью, мы рекомендуем вместо этого использовать свойство USEDRANGE.
Чтобы ввести макрос, нажмите комбинацию клавиш ALT F11 в Excel. Это запустит редактор VBA во всех версиях Excel. Там выберите команду ВСТАВИТЬ - МОДУЛЬ и введите макрос. Чтобы запустить макрос, активируйте комбинацию клавиш ALT F8 в Excel.