Найти тему
VBA Excel с нуля

VBA Excel № 111. Подсчитываем количество выделенных ячеек.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Приветствую вас, уважаемые читатели. Хочу сказать, что при работе с макросом, обрабатывающим выделенный диапазон ячеек, можно использовать свойство Count, чтобы определить количество ячеек в выделенном (или другом) диапазоне. Например, следующий код выводит окно сообщения, отображающее количество ячеек в текущем выделенном диапазоне:

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Если активный лист содержит диапазон "Данные", следующий код присваивает количество ячеек в этом диапазоне (в моём случае я присвоил именованный диапазон А1:В2) переменной "КоличествоЯчеекДанных":

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

А ещё можно подсчитать количество строк или столбцов в диапазоне. Следующий ниже код вычисляет количество столбцов в текущем выделенном диапазоне:

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Для определения количества строк в диапазоне используется свойство Rows. Следующий код пересчитывает количество строк в диапазоне "Данные" (в моём случае я присвоил именованный диапазон А1:В2) и присваивает это количество моей переменной с наименованием - "КоличествоСтрокДанных":

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Для справки

Хочу заметить, что, начиная с версии Excel 2007, был расширен размер рабочего листа и это увеличение может вызывать проблемы с использованием свойства Count. Так как свойство Count работает с типом данных Long, и его максимальное значение ограничено 2147483647. Если, вы выделили 2048 столбцов (а 2147483648 ячеек), возникнет ошибка при использовании свойства Count. Для решения этой проблемы имеется другое свойство под названием CountLarge. Оно использует тип данных Double, и максимальное обрабатываемое значение составляет 1,79+E^308 (в общем, это огромное число).

Как показывает практика в большинстве ситуаций можно использовать свойство Count. Однако, если необходимо подсчитать большое количество ячеек, например, все ячейки на рабочем листе, предпочтительнее воспользоваться свойством CountLarge.

Наука
7 млн интересуются