Ich nenne mal ein paar zusätzliche Punkte, die mir jetzt bei näherer Betrachtung deines Codes aufgefallen sind:
- sum = sum +0 ist überflüssig. Es ändert sich ja gar nix. Inklusive der Else davor ersatzlos löschen
- Du beendest die Funktion Nach Bearbeitung der ersten Zelle, vor dem letzten Next. Die Zeile ANZAHLBUCHSTABEN = sum gehört ans Ende
- Zwar kein Fehler, aber es ist wesentlich besser lesbar, wenn du hinter jedes Next schreibst, zu welcher Laufvariablen es gehört. Also nicht einfach Next, sondern z.B. Next s
- Womit wir bei Variablennamen sind. Verwende keine einfachen Buchstaben als Bezeichner, sondern sprechende Namen, wie du es mit sum gemacht hast. Findest du keinen sprechenden Namen, bedeutet das, du weißt nicht genau, was du da eigentlich gerade machst
- Eine weitere Stilsache. Verwende am Besten durchgängig englische Bezeichner. Du kannst auch nur deutsche verwenden, aber mische auf keinen Fall. Also entweder sum und cell oder summe und zelle. Achte bei englischen Bezeichnern darauf., dass es keine reservierten Wörter sind
- Du wendest die Funktion InStr() falsch an. Der erste Parameter ist der Startindex, also meistens 1. Danach folgt der String, der durchsucht werden soll, dann der String, der im ersten String gesucht wird
- Das sieht dann so aus: InStr(1, ALLOWED_CHARS, LCase(CStr(Args(i)))) Aber überlege mal genau, was da steht und ob das jemals zutreffen kann. LCase(CStr(Args(i)) ist der gesamte Zellinhalt, den du in einen String umwandelst und als Kleinbuchstaben behandelst. Die Umwandlung in Kleinbuchstaben und String ist richtig, aber den gesamten Zellinhalt wirst du vermutlich niemals in deinem erlaubteBuchstabenString finden
- Du gehst mit der Funktion Mid() jeden Buchstaben deines erlaubteBuchstabenString durch. Aber du willst in der gleichen Zeile wissen, ob der Buchstabe das gleiche ist, wie der ganze erlaubteBuchstabenString. Das ergibt immer False, weil das niemals zutreffen kann
Das sind die Sachen, die mir bei einem "schnellen" Draufschauen aufgefallen sind. Ich rate dir zunächst aufzuschreiben, wie dein Algorithmus funktionieren soll. Als Pseudocode in normal verständlicher Sprache. Dann stolperst du automatisch darüber, dass die Suche eines ganzen Zellinhalts in den erlaubten Zeichen nicht funktionieren kann.
Was ist denn das für eine Prüfung und wann ist sie?
|