2014-06-19 50 views
1

我需要某物计算某个短语在单个单元格中出现的次数。在单个单元格中查找多个短语的计数

细胞B5包含值 “测试123测试1234”

Sub count() 
ival = Application.WorksheetFunction.CountIf(Range("B5"), "Test") 
MsgBox ival 
End Function 

这将返回 “0”,因为它不是完全匹配。我希望计算单元格中“Test”的次数,并正确返回2作为值。

回答

3

结合SplitUbound

分割字符串成子的零基于一维数组,然后使用UBOUND

Sub count() 
Dim count As Integer 
count = UBound(Split(Range("B5"), "123")) 
MsgBox count 
End Sub 
+1

+1这是一个很好的方式做到这一点发现,数组的上界。请注意,它为空单元格返回-1。你可以添加一个'WorksheetFunction.Max'来处理它。或者,它的方式可能更具信息性。 –

+0

非常好。非常感谢。 – Josh

相关问题