VBA计数包含指定值的列中的单元格

问题描述 投票:30回答:4

我需要编写一个宏来搜索指定的列并计算包含指定字符串的所有单元格,例如"19/12/11" or "Green"然后将此数字与变量相关联,

有没有人有任何想法?

vba excel-vba excel
4个回答
55
投票

你的意思是你想在VBA中使用公式吗?就像是:

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

应该管用。


13
投票

这不是你想要的,但这是我过去如何处理这个问题;

你可以输入一个类似的公式;

=COUNTIF(A1:A10,"Green")

......进入牢房这将计算包含文本“绿色”的A1和A10之间的单元格数。然后,您可以在VBA宏中选择此单元格值,并将其正常分配给变量。


2
投票

单程;

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
投票

不是你问的,但可能有用。

当然你可以用矩阵公式做同样的事情。只需读取包含以下内容的单元格的结果:

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))}

© www.soinside.com 2019 - 2024. All rights reserved.