我需要编写一个宏来搜索指定的列并计算包含指定字符串的所有单元格,例如"19/12/11" or "Green"
然后将此数字与变量相关联,
有没有人有任何想法?
你的意思是你想在VBA中使用公式吗?就像是:
Dim iVal As Integer
iVal = Application.WorksheetFunction.COUNTIF(Range("A1:A10"),"Green")
应该管用。
这不是你想要的,但这是我过去如何处理这个问题;
你可以输入一个类似的公式;
=COUNTIF(A1:A10,"Green")
......进入牢房这将计算包含文本“绿色”的A1和A10之间的单元格数。然后,您可以在VBA宏中选择此单元格值,并将其正常分配给变量。
单程;
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
不是你问的,但可能有用。
当然你可以用矩阵公式做同样的事情。只需读取包含以下内容的单元格的结果:
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))}