例如,我已经使用vba中的range定义了多维数组
Dim Arr() as Variant
Arr = Range("A1:F5")
这导致Arr(1,1)到Arr(5,6)的5x6数组
我想计算一个字符串的出现次数,仅在Arr(5)(即第5行)中说“ ABC”。
以下代码可在整个数组中找到“ ABC”的计数
For Each x in Arr
if x = "ABC" then Cnt = Cnt + 1
Next
但是,如果只想计算维度5,则Arr(5)返回错误。
答案 0 :(得分:2)
Sub FindABC()
Dim Arr(), cnt, x
Const ROW_NUM = 5
Arr = Range("A1:F5")
For x = 1 To UBound(Arr, 2)
cnt = cnt + IIf(Arr(ROW_NUM, x) = "ABC", 1, 0)
Next
MsgBox cnt
End Sub
答案 1 :(得分:1)
使用索引从第二个等级剥离最后一个“行”。拆分Joined结果将返回区分大小写的COUNTIF结果。
for
通过将连接的数组和条件都转换为普通大小写,可以返回不区分大小写的结果。