Подтвердить что ты не робот

VBA Количество элементов в столбце, содержащем указанное значение

Мне нужно написать макрос, который ищет указанный столбец и подсчитывает все ячейки, которые содержат указанную строку, например "19/12/11" or "Green", затем сопоставьте это число с переменной,

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

4b9b3361

Ответ 1

Вы хотите, чтобы вы использовали формулу в VBA? Что-то вроде:

Dim iVal As Integer
iVal = Application.WorksheetFunction.COUNTIF(Range("A1:A10"),"Green")

должен работать.

Ответ 2

Это не совсем то, что вы ищете, но вот как я уже обращался к этой проблеме в прошлом:

Вы можете ввести формулу:

=COUNTIF(A1:A10,"Green")

... в ячейку. Это будет подсчитывать количество ячеек между A1 и A10, которые содержат текст "Зеленый". Затем вы можете выбрать это значение ячейки в макросе VBA и присвоить его переменной как обычно.

Ответ 3

в одну сторону;

var = count("find me", Range("A1:A100"))

function count(find as string, lookin as range) As Long
   dim cell As Range
   for each cell in lookin
       if (cell.Value = find) then count = count + 1 '//case sens
   next
end function

Ответ 4

Не то, что вы просили, но может быть полезным, тем не менее.

Конечно, вы можете сделать то же самое с матричными формулами. Просто прочитайте результат ячейки, которая содержит:

Ячейка A1 = "Текст для поиска" Ячейки A2: C20 = Диапазон поиска

=COUNT(SEARCH(A1;A2:C20;1))

Помните, что для ввода формул матрицы требуется CTRL + SHIFT + ENTER, а не только ENTER. После этого он должен выглядеть так:

{=COUNT(SEARCH(A1;A2:C20;1))}