2014-06-19 91 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

相關問題