Thema Datum  Von Nutzer Rating
Antwort
12.07.2021 16:25:51 Alex
NotSolved
12.07.2021 16:51:05 Gast51832
*****
NotSolved
12.07.2021 17:04:14 Gast85492
NotSolved
Blau Benutzerdefinierte Funktion "ANZAHLBUCHSTABEN"
12.07.2021 17:31:39 Gast24794
NotSolved
12.07.2021 18:15:17 Gast98805
NotSolved
12.07.2021 18:22:09 Gast50778
NotSolved
13.07.2021 17:44:54 Gast62614
NotSolved
18.07.2021 13:00:13 Alexander
NotSolved
12.07.2021 19:31:56 Gast68241
NotSolved
13.07.2021 17:46:23 Gast47332
NotSolved
16.07.2021 15:12:42 Gast25698
NotSolved
16.07.2021 16:46:40 Gast66256
NotSolved

Ansicht des Beitrags:
Von:
Gast24794
Datum:
12.07.2021 17:31:39
Views:
202
Rating: Antwort:
  Ja
Thema:
Benutzerdefinierte Funktion "ANZAHLBUCHSTABEN"

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?


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 16:25:51 Alex
NotSolved
12.07.2021 16:51:05 Gast51832
*****
NotSolved
12.07.2021 17:04:14 Gast85492
NotSolved
Blau Benutzerdefinierte Funktion "ANZAHLBUCHSTABEN"
12.07.2021 17:31:39 Gast24794
NotSolved
12.07.2021 18:15:17 Gast98805
NotSolved
12.07.2021 18:22:09 Gast50778
NotSolved
13.07.2021 17:44:54 Gast62614
NotSolved
18.07.2021 13:00:13 Alexander
NotSolved
12.07.2021 19:31:56 Gast68241
NotSolved
13.07.2021 17:46:23 Gast47332
NotSolved
16.07.2021 15:12:42 Gast25698
NotSolved
16.07.2021 16:46:40 Gast66256
NotSolved