Buchstaben-Statistik

mein nächstes anliegen wäre die auswertung von buchstaben eines strings und zwar bräuchte ich folgendes:
anzahl der kleinbuchstaben, großbuchstaben, vokale, mitlaute, umlaute und sonderzeichen. außerdem würd ich gern den wert des strings bestimmen also A und a haben den wert 1, B und b haben den wert 2 usw. diese werte sollen addiert werden und dann durch die anzahl der zeichen dividiert. und zum schluss würd ich noch gern ausgeben wie oft welcher buchstabe vorkommt. bis hier hin hab ichs geschafft, jetzt weiß ich nicht mehr weiter.

Public Function buchstaben()

Dim zk As String
Dim klein As Integer
Dim groß As Integer
Dim vokal As Integer
Dim umlaut As Integer
Dim mitlaut As Integer
Dim wert As Double

Call buchstaben_haupt(zk)

For i = 1 To Len(zk)
If Asc(Mid(zk, i, 1)) >= 97 And Asc(Mid(zk, i, 1)) = 65 And Asc(Mid(zk, i, 1)) = 97 And Asc(Mid(zk, i, 1)) 97 Or Asc(Mid(zk, i1)) 101 Or Asc(Mid(zk, i1)) 105 Or Asc(Mid(zk, i1)) 111 Or Asc(Mid(zk, i1)) 117 Then
mitlaut = mitlaut + 1
End If
'End If
Next

For i = 1 To Len(zk)
If Asc(Mid(zk, i, 1)) >= 65 And Asc(Mid(zk, i, 1))

Hallo,

und zum schluss würd
ich noch gern ausgeben wie oft welcher buchstabe vorkommt

Dim i As Integer
Dim Txt As String
Dim Cnt(26)
For i = 0 To 26
 Cnt(i) = Len(Txt) - Len(Replace(Txt, Chr(i + 65), ""))
Next

etwa so?

Gruß, Rainer

Hallo,

mein Vorschlag fuer eine Loesung waere:

  1. Schau die die Zeichentabelle von Windows an: Zubehoer->Systemprogramme->Zeichentabelle
  2. Baue eine Schleife um zeichenweise durch den String zu laufen
  3. Nehme den aktuellen ASCII-Wert des Zeichens und lass ihn in ein Select case einlaufen. Ewt. kannst/musst du das Select noch schachteln, aber so behaellst du wesentlich einfacher den Ueberblick im Gegensatz zu deiner IF…IF…IF Konstuktion.

z.B.: (Die Werte sind wilkuerlich, nur als Beispiel fuer die Konstuktion)

Dim tmpASCII as Integer

For i = 1 To Len(zk)
tmpASCII = Asc(Mid(zk, i, 1)
Select case tmpASCII

case 26 to 55

case 97 to 122
klein = klein +1
select case tmpASCII
case 97,111,115

end select
end select

next i

Tschau
Peter