Счетчик в Excel VBA

Существуют различные способы подсчета в MS Excel. Мы можем использовать встроенные функции, такие как Count, CountIf, CountA, CountBlank, которые есть в Excel. Но эти функции не будут работать должным образом в VBA и также имеют ограничения. Чтобы преодолеть это, у нас есть много функций и команд, а также процесс, с помощью которого мы можем выполнить VBA Counter. Счетчик VBA используется для подсчета ячеек, подсчета содержимого ячеек, а также используется в качестве таймера обратного отсчета, когда мы можем реализовать расписание для измерения любой задачи.

С помощью счетчика VBA мы можем также подсчитать ячейки с их цветовыми показателями. Этот индекс цвета может также использовать цвет шрифта или фона ячейки, а также полужирные значения.

Как создать счетчик в Excel VBA?

Ниже приведены различные примеры создания счетчика в Excel с использованием кода VBA.

Вы можете скачать этот шаблон VBA Counter Excel здесь - Шаблон VBA Counter Excel

Счетчик VBA - Пример № 1

У нас есть некоторые данные случайных чисел в столбце А. Все упомянутые значения являются случайными и не имеют связи, такой как в последовательности или серии. Теперь с помощью процесса счетчика VBA мы посчитаем верхнее и нижнее значения и получим выходные данные в ячейках D2 и D3.

Мы посчитаем число и одновременно раскрасим их согласно цвету текста в ячейках C2 и C3.

Для этого выполните следующие шаги:

Шаг 1. Создайте кнопку «Command», которая доступна на вкладке « Разработчик » в Active X Control меню «Вставка», как показано ниже.

Шаг 2: Теперь создайте кнопку, как показано ниже.

Шаг 3: Щелкните правой кнопкой мыши на созданной кнопке и перейдите к опции Свойства .

Шаг 4: Измените заголовок кнопки, которая по умолчанию называется CommandButton2, на любое желаемое имя. Здесь мы изменили это на « Подсчет клеток по значению ».

Шаг 5: Сделав это, щелкните правой кнопкой мыши на созданной кнопке и выберите опцию View Code, чтобы открыть окно VBA.

Редактор Visual Basic открыт сейчас, и по умолчанию подпрограмма для командной кнопки уже создана.

Код:

 Частный Sub CommandButton2_Click () End Sub 

Шаг 6: Теперь нам нужно объявить 3 переменные. Объявите первую переменную, в которой мы будем хранить числа, и вторую переменную, в которой мы будем использовать счетчик в качестве целых чисел, как показано ниже. И 3- я переменная будет длинной, чтобы сосчитать числа, хранящиеся в каждой строке.

Код:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count Как целое Dim LRow As Long End Sub 

Шаг 7: Теперь мы выберем первую ячейку листа, которая является A1 в качестве нашего диапазона. Отсюда мы будем выбирать ячейки, пока в них не появятся номера.

Код:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count Как Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Шаг 8: Теперь мы откроем и запишем условие в цикле For, если ячейка имеет значение больше 10, тогда цвет шрифта ячейки будет изменен на Желтый, а для значения меньше 10 цвет шрифта ячейки будет изменен на Синий с индексами цвета 44 и 55 соответственно.

Код:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count как Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row Для A = 1 до LRow, если ячейки (A, 1). Значение> 10 Тогда Count = Count + 1 Ячейки (A, 1) .ont.ColorIndex = 44 Остальные Ячейки (A, 1) .Font.ColorIndex = 55 End If Next A End Sub 

Шаг 9: Теперь, чтобы увидеть вывод значений из ячейки A1 до конца, мы выберем ячейки, как описано выше с помощью приведенного ниже кода.

Код:

 Private Sub CommandButton2_Click () Dim A As Integer Dim Count как Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row Для A = 1 до LRow, если ячейки (A, 1). Значение> 10 Тогда Count = Count + 1 Ячейки (A, 1) .ont.ColorIndex = 44 Остальные Ячейки (A, 1) .Font.ColorIndex = 55 Конец Если Следующие A Ячейки (2, 4). Значение = Количество Ячеек (3, 4) .Value = 12 - Count End Sub 

Шаг 10: Теперь запустите код, нажав кнопку.

Мы увидим, что ячейки с номерами меньше 10 выделены синим цветом. И тот, что больше 10, выделен желтым цветом.

Счетчик VBA - Пример № 2

В этом примере мы будем использовать VBA Counter, чтобы измерить время, за которое мы можем измерить сделанный нами дубль. Предположим, если нам нужно измерить время, необходимое для выполнения какой-либо задачи, то процесс, который мы увидим здесь, является наилучшим для реализации.

Для этого выполните следующие шаги:

Шаг 1: Создайте 2 вкладки любой фигуры в меню «Вставка» «Фигуры», как показано ниже. Мы выбираем Rectangle: Rounder Corners .

Шаг 2: Создайте 2 кнопки и назовите их «Пуск» и «Сброс», с помощью которых мы запустим таймер и очистим время.

Шаг 3: Теперь перейдите в VBA и откройте модуль из меню «Вставка».

Шаг 4: В этом напишите подкатегорию «Таймер запуска», как показано ниже.

Код:

 Sub Start () End Sub 

Шаг 5: Рассмотрим слово для строки Next, например NextRow, где мы выберем рабочий лист, в котором мы хотим реализовать код. Здесь наш лист Sheet2 . И здесь мы посчитаем строки из ячейки +1, которая является ячейкой A2, пока у нас не будет курсора значение файла.

Код:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Ячейки (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Шаг 6: Теперь, чтобы перейти к следующей строке, мы будем использовать формат вершины, где 1 в скобках для оси Y.

Код:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Ячейки (Rows.Count, 1). Конец (xlUp) .Row + 1 Ячейки (NextRow, 1) = Время окончания Sub 

Шаг 7: Напишите код для сброса ниже того же кода запуска.

Код:

 Sub Reset () End Sub 

Шаг 8: Теперь для сброса мы сохраним тот же код, что и Start, но ключевое слово будет изменено на LastRow, и мы удалим +1 только для того, чтобы нам не пришлось попадать в другую строку.

Код:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Ячейки (Rows.Count, 1) .End (xlUp) .Row End Sub 

Шаг 9: Теперь, чтобы очистить данные в последней ячейке столбца A до первой, сначала выберите диапазон ячеек с функцией ClearContents .

Код:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Ячейки (Rows.Count, 1) .End (xlUp). Диапазон строк ("A2: A" и lastrow) .ClearContents End Sub 

Теперь закройте окно VBA.

Шаг 10: Щелкните правой кнопкой мыши на вкладке « Пуск » и выберите « Назначить макрос» .

Шаг 11: Выберите Начальное субкодирование, которое мы делали выше.

Шаг 12: То же самое можно сделать и для кнопки сброса. Присвойте субкод « Сброс» кнопке « Сброс», нажмите «ОК» и выйдите из режима разработки, чтобы выполнить код.

Шаг 13: Теперь сначала нажмите кнопку « Пуск» . Время начала мы получим как 3:51:33.

Шаг 14: Теперь снова нажмите кнопку «Пуск» 2-3 раза, чтобы получить многократный промежуток времени. Мы увидим, что в каждой итерации есть промежуток в несколько секунд.

Шаг 15: Теперь после этого мы протестируем кнопку « Сброс» . Нажмите на Сброс. Мы увидим, что данные очищены и готовы к следующему кругу отсчета времени.

Плюсы Excel VBA Counter

  • Реализовать счетчик отрезков времени очень просто, как мы видели в примере 2.
  • VBA Counter имеет много типов реализации, это не ограничивается только примерами, которые мы видели.

То, что нужно запомнить

  • Всегда лучше назначать код для любой кнопки, когда мы выполнили 2 или более типов кода в одном процессе.
  • Выйдите из режима разработки после назначения и выполнения кода на вкладке «Разработчик».
  • Мы также можем создать счетчик времени в реальном времени, где мы сможем увидеть обратный отсчет времени или посмотреть время в реальном времени.
  • Сохраните макрос в Macro, включите формат файла Excel, чтобы мы не потеряли наш код.

Рекомендуемые статьи

Это руководство к VBA Counter. Здесь мы обсудим, как создать счетчик VBA в Excel, используя код VBA, а также приведем практические примеры и загружаемый шаблон Excel. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Использование ошибки переполнения VBA в Excel
  2. Примеры ошибок VBA 1004
  3. Как использовать VBA DoEvents?
  4. Методы, чтобы скрыть столбцы в VBA

Категория: