Ниже мы рассмотрим программу в Excel VBA, которая подсчитывает количество вхождений в год.

Ситуация:

Year Occurrences in Excel VBA

Примечание: Даты в формате США. Месяцы первый, второй дни. Этот тип формата зависит от ваших окон региональных настроек.

  1. Во-первых, мы объявляем три переменные типа Integer. Одна переменная, которую мы называем yearCount, одна переменная, которую мы называем yearAsk, и одна переменная, которую мы называем I.

Dim yearCount As Integer, yearAsk As Integer, i As Integer
  1. Мы инициализируем yearCount со значением 0 и yearAsk со значением ячейки С4.

yearCount = 0

yearAsk = Range("C4").Value
  1. Мы начинаем Для следующего цикла.

For i = 1 To 16
  1. Теперь мы проверяем каждую дату, и только если год на дате равен введенный год в ячейке C4, мы увеличиваем yearCount на 1. Мы используем функцию года, чтобы получить год даты.

If year(Cells(i, 1).Value) = yearAsk Then

yearCount = yearCount + 1

End If
  1. Не забудьте закрыть петлю.

Next i
  1. И, наконец, мы выводим общее число вхождений в год. Мы используем и оператор для конкатенации (объединение) двух строк.

MsgBox yearCount & " occurrences in year " & yearAsk
  1. Поместите макрос в командной кнопке и протестировать его.

Результат:

Year Occurrences Result

Примечание: потому что мы сделали переменную yearAsk, вы можете просто подсчитать количество вхождений года еще один год, введя еще один год в ячейке C4, и снова нажав на кнопке команды.