Несоответствие типа VBA по функции года как критерий CountIfs

Я получаю ошибку несоответствия типа из следующего кода:

blattZFq3.Cells(month, siaw) = Application.WorksheetFunction.CountIfs(Worksheets(i).Range("AF10:AF290"), month, Year(Worksheets(i).Range("AE10:AE290")), minYear) 

Я предполагаю, что это проблема со вторыми критериями, точнее, функцией года в качестве критериев диапазона, поскольку код работал отлично в предыдущей версии только с первыми критериями и с использованием countif .

minYear объявляется как Variant и ему присвоено значение 2012 по предыдущей функции.

В основном я хочу, чтобы ячейка в диапазоне blattZFq3 содержала количество раз, когда число соответствует month в столбце, но только если год даты в той же строке, но другой столбец соответствует minYear .

Есть ли у кого-нибудь предложения?

Заранее спасибо….

Вы не можете использовать эту функцию для массива: Year(Worksheets(i).Range("AE10:AE290")) поскольку он ожидает диапазон для проверки второй области.
Кроме того, я бы не стал использовать слово Month как имя переменной, так как это также имя функции.

Вам нужно будет написать функцию с тремя критериями, чтобы обойти ограничение, или написать формулу в целевую область.

Функция с 3 критериями:

 blattZFq3.Cells(MyMonth, siaw) = _ WorksheetFunction.CountIfs(Worksheets(i).Range("AF10:AF290"), MyMonth, _ Worksheets(i).Range("AE10:AE290"), ">=" & DateSerial(minYear, 1, 1), _ Worksheets(i).Range("AE10:AE290"), "<=" & DateSerial(minYear, 12, 31)) 

Как формула в ячейке:

 blattZFq3.Cells(MyMonth, siaw).Formula = _ "=SUMPRODUCT(--(SheetName!AF10:AF290=" & MyMonth & ")," & _ "--(YEAR(SheetName!AE10:AE290)=" & minYear & "))" 

Работа с датой иногда бывает сложной. Вы используете английскую версию? Вы можете попытаться написать один и тот же код формулы в Excel и протестировать его перед тем, как поместить его в VBA. Вы также можете попробовать что-то вроде:

 blattZFq3.Cells(month, siaw) = "=CONTIFS(.....)" 
Interesting Posts

Расчет продолжительности (т. Е. Время полета) на основе разных часовых поясов

Sharepoint и службы Excel – ограничение доступа по вкладкам

Как создать простую пользовательскую форму с флажками в VBA

Как назначить значение ячейки для значений из диапазона, напечатать в формате pdf с именем значения (необходимость очистки)

Требуется ли путь к файлу (функция оболочки) VBA?

pandas.read_excel, значения первой строки

Как подсчитать пустые строки с объединенными ячейками и вставить новые строки с объединенными ячейками ниже

Попытка скрыть сетки с помощью команды DisplayGridLines работала только для одного рабочего листа из книги

читать несколько листов excel selenium-webdriver, java, eclipse

Какова формула excel для «если ячейка является одним из N верхних значений столбца»?

Excel VBA для оператора

Проблемы с несколькими ошибками Runtime: обновленный код – все еще возникают проблемы

Графическая линейная диаграмма Excel

Преобразование всего диапазона в нижний регистр без циклирования по ячейкам Косвенный

Разбирайте HTML в VBA для извлечения информации из списка описания?

Давайте будем гением компьютера.