utilizar el comando de división como este
Dim TempS As String
TempS = " This is a split test "
Dim V As Variant
V = Split(TempS, " ")
Cls
Print UBound(V) '7
V = Split(TempS, "i")
Print UBound(V) '3
V = Split(TempS, "e")
Print UBound(V) '1
Se puede combinar con una sola línea.
Print UBound(Split(TempS, "i"))
Hice un tiempo crudo en él. En una cadena de 40,000 caracteres con todos los espacios, parece sincronizarse a los 17 milisegundos en un procesador Intel Core 2 de 2,4 GHz.
Una función podría tener este aspecto
Function CountChar(ByVal Text As String, ByVal Char As String) As Long
Dim V As Variant
V = Split(Text, Char)
CountChar = UBound(V)
End Function
¿Quieres contar con espacios o caracteres distintos? –
¿Qué pasa con ese enfoque? – Beth
¿Está buscando contar caracteres únicos o caracteres específicos? Su título sugiere "único", su muestra sugiere "específico". – mwolfe02