在单个单元格中find多个短语的计数

我需要一些东西来计算某个单词在单个单元格中出现的次数。

单元格B5包含值“Test 123 Test 1234”

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

这返回“0”,因为它不是完全匹配。 我想要的东西,计数次数“testing”是在单元格中,正确地返回2作为值。

合并拆分和Ubound

将string拆分为基于1D的子string数组,然后使用uboundfind该数组的上限

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