Aqui está o código VBA equivalente para contar o número de células contendo pelo menos uma string
Sub StringCounter()
Dim r As Range, s As String, i As Long
s = "*string*"
For Each sh In Sheets
Set r = sh.Range("C2:C150")
i = i + Application.WorksheetFunction.CountIf(r, s)
Next sh
MsgBox i
End Sub
EDIT # 1:
Aqui está o código para contar o número de strings Ele contará várias string dentro de uma única célula:
Sub StringCounter_II_The_Sequel()
Dim r As Range, s As String, i As Long
Dim rr As Range, L As Long
s = "string"
L = Len(s)
For Each sh In Sheets
Set r = sh.Range("C2:C150")
For Each rr In r
txt = rr.Text
If InStr(txt, s) > 0 Then
i = i + (Len(txt) - Len(Replace(txt, s, ""))) / L
End If
Next rr
Next sh
MsgBox i
End Sub
EDIT # 2:
A matemática funciona da seguinte forma:
- dizem que há três string em uma célula e o número de caracteres nessa célula é 100
- o substituir remove todas as três instâncias e o novo tamanho é 82
- os resultados da subtração em 18
- a divisão resulta em 3 (porque a palavra string tem 6 caracteres)