У меня есть недельный лист с разметкой с 5 различными категориями в столбцах b, e, h, k, & n, в котором я создаю новую копию оригинального листа каждую неделю и вводим да или нет на эту неделю. Я хочу скомпилировать все эти оценки на сводном листе, чтобы лист 1 подсчитывал количество «у» в листах «лист2» через «последний» в каждом соответствующем столбце. Затем я могу разделить количество листов в этом диапазоне, чтобы получить процент от y, введенный в каждом столбце b, e и т. Д. Я довольно новичок в создании функций и использовании vba, поэтому я действительно борется.Countif на нескольких листах с критериями/параметрами
Сложная часть: я хотел бы, чтобы функция могла принимать следующие аргументы/параметры: на каком листе начать отсчет, на каком листе прекратить подсчет, что считать (в этом случае у, но может измениться в моей следующей книге или если я добавлю новую категорию), какую ячейку считать, поскольку я хочу считать одну ячейку на каждом листе, так что b7 является компиляцией только b7 в диапазоне листов.
Это была моя слабая попытка:
Function mycountif(start As Variant, last As Variant, Cell As Variant, criteria As Variant) 'define name and parameters
Dim count As Integer
count = 0
For Each Worksheet In Worksheet.range(start, last)
count = count + Application.WorksheetFunction.CountIf(range(Cell), criteria)
Next Worksheet
mycountif = count
End Function
Я новичок в обществе так, пожалуйста, дайте мне знать, если есть что-нибудь еще мне нужно уточнить.
Благодарим вас за помощь, которую вы можете оказать.
Можете ли вы опубликовать скриншот примера листа? –