VBA Количество клеток в столбце, содержащем указанное значение - PullRequest
31 голосов
/ 21 декабря 2011

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

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

Ответы [ 4 ]

56 голосов
/ 21 декабря 2011

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

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

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

13 голосов
/ 21 декабря 2011

Это не точно , что вы ищете, но вот как я подходил к этой проблеме в прошлом;

Вы можете ввести формулу, как;

=COUNTIF(A1:A10,"Green")

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

2 голосов
/ 21 декабря 2011

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

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
0 голосов
/ 19 декабря 2014

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

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

Cell A1="Text to search"
Cells A2:C20=Range to search for

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...