Thema Datum  Von Nutzer Rating
Antwort
12.07.2021 15:59:21 Alexander
NotSolved
12.07.2021 16:09:57 Gast63975
NotSolved
Rot Benutzerdefinierte Funktion "ANAZHLBUCHSTABEN"
24.07.2021 16:42:59 Der Steuerfuzzi
NotSolved
25.07.2021 13:58:39 Gast84022
NotSolved
25.07.2021 17:52:10 Der Steuerfuzzi
NotSolved
25.07.2021 20:54:53 Gast29867
NotSolved

Ansicht des Beitrags:
Von:
Der Steuerfuzzi
Datum:
24.07.2021 16:42:59
Views:
462
Rating: Antwort:
  Ja
Thema:
Benutzerdefinierte Funktion "ANAZHLBUCHSTABEN"

Hallo,

diese erste Überprüfung kann nicht funktionieren:

        If InStr(LCase(CStr(Args(i))), ALLOWED_CHARS) > 0 Then

Wenn z. B. eine Zelle den Text "Ich123" enthält, suchst Du darin den Strin"abcdefghijklmnopqrstuvwxyzß". Dieser ist ja logisch nur schwer darin enthalten, so dass, wenn die Zelle nicht zufällig das gesamte Alphabet enthält, diese Prüfung nicht wahr wird und der Code darin nie ausgeführt wird.

Ich weiß ja nicht, was Du machen willst, wenn es aber darum geht zu prüfen, ob die Zelle leer ist, dann reicht z.B. das:

        If Len(CStr(Args(i).value)) > 0 Then

In der folgenden Zeile vergleichst Du nun einen einzelnen Buchstaben mit der Zeichenfolge "abcdefghijklmnopqrstuvwxyzß". Das kann nie wahr werden, somit kommt als Summe immer 0 heraus:

                If Mid(LCase(CStr(Args(i))), s, 1) = ALLOWED_CHARS Then

Hier wäre jetzt die Funnktion INSTR angebracht:

                If InStr(ALLOWED_CHARS, Mid(LCase(CStr(Args(i).Value)), s, 1)) > 0 Then

Die folgende Zeile ist nicht nötig, da Sie den Wert nicht verändert und nur unnötig Rechenleistung verbraucht:

                    sum = sum + 0

Es kann also der ELSE-Zweig weggelassen werden.

VG

Michael


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
12.07.2021 15:59:21 Alexander
NotSolved
12.07.2021 16:09:57 Gast63975
NotSolved
Rot Benutzerdefinierte Funktion "ANAZHLBUCHSTABEN"
24.07.2021 16:42:59 Der Steuerfuzzi
NotSolved
25.07.2021 13:58:39 Gast84022
NotSolved
25.07.2021 17:52:10 Der Steuerfuzzi
NotSolved
25.07.2021 20:54:53 Gast29867
NotSolved