Tengo este ejemplo, pruebalo:
Private Sub Command1_Click()
plCadena (Text1.Text)
End Sub
Sub plCadena(pValor As String)
Dim I As Integer, J As Integer, K As Integer, Ind As Integer
Dim contLetras As Integer
Dim vlArray() As String
Dim vlPosicion As String, vlPosicion1 As String
ReDim vlArray(1 To Len(pValor), 1 To Len(pValor))
K = 1
contLetras = 1
Ind = 0
Nuevamente:
For I = 1 To Len(pValor)
vlPosicion = Mid(pValor, I, 1)
K = K + 1
contLetras = 1
For J = K To Len(pValor)
vlPosicion1 = Mid(pValor, J, 1)
If vlPosicion = vlPosicion1 Then
contLetras = contLetras + 1
End If
Next J
Ind = Ind + 1
vlArray(Ind, 1) = vlPosicion
vlArray(Ind, 2) = contLetras
pValor = flEliminaCar(pValor, vlPosicion)
GoTo Nuevamente
Next I
'Mostrar los datos
For J = 1 To UBound(vlArray)
MsgBox "Letra:" + vlArray(J, 1) + " No. Veces: " + vlArray(J, 2), vbInformation, "Contador de Caracteres"
Next J
End Sub
Public Function flEliminaCar(valor As String, pLetra As String) As String
Dim I As Long
Dim vlPosicion As String
flEliminaCar = ""
For I = 1 To Len(valor)
vlPosicion = Mid(valor, I, 1)
If vlPosicion <> pLetra Then
flEliminaCar = flEliminaCar + vlPosicion
End If
Next
End Function