Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler in UF-Code

Fehler in UF-Code
25.04.2007 00:28:00
mumpel
Hallo!
Der folgende Code funktioniert in einer meiner Arbeitsmappen. Habe jetzt testweise die selbe Userform in einer neuen Arbeitsmappe eingefügt. Und da bekomme ich komischerweise eine Fehlermeldung. Warum funktioniert es in einer Arbeitsmappe, in der anderen aber nicht? Kann es nicht erklären.
Code, der Fehler soll in Zeile 6 sein:

Private Function GetTextBox21Value() As String
Dim iposit As Integer
Dim iHH As Integer
Dim iMM As Integer
Dim value As String
iposit = InStr(TextBox21.value, ":")
iHH = Val(Left(TextBox21.value, iposit - 1))  ' Hier soll der Fehler sein
iMM = Val(Mid(TextBox21.value, iposit + 1))
value = iHH + IIf(iMM 


Hier die Mappe, in der es nicht funktioniert: https://www.herber.de/bbs/user/42006.xls
Danke und Gruß,
Rene

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in UF-Code
25.04.2007 02:41:00
Daniel
Hallo
zum Testen ist mir das jetzt zu komplex,
aber was mir aufgefallen ist:
1. du hast "Option Explicit" deaktiviert. das macht man nicht! ich hab keine Lust in einem derart komplexen Code nach Tippfehlern und falsch deklarierten Variablen zu suchen.
2. du verwendest mache Variablenbezeichnungen in verschiedenen Prozeduren mehrfach, das kann zu Problemen führen, da u.U Variablen unabsichtlich verändert werden. Hier erstmal für eindeutigkeit sorgen.
bring das erstmal in Ordnung, dann kann man sich das Programm nochmal anschauen.
außderdem wäre bei deinem derart komplexen Projekt ein kleiner Hinweis nicht schlecht, was man tun muss, um den Fehler zu erzeugen.
Vermutlich kommt der Fehler daher, daß der Wert in Textbox21 keinen ":" enthält, dann ist iposit=0 und Left(str,x) geht halt nun mal nicht mit negativen Werten.
Gruß, Daniel

Anzeige
AW: Fehler in UF-Code
25.04.2007 10:04:57
mumpel
Hier mal eine Erläuterugn. Mit dieser "Funktion" soll die Sollzeit des Monats berechnet werden.Bei "Arbeitstage/Monat"selbiges angeben, z.B. 21 bei "Arbeitstage/Woche"selbiges angeben, z.B. 5, "Stunden/Woche"angeben, z.B. 38:00. Die anderen Felder können ignoriert werden. Dort wird das angegeben, was daneben angeschrieben steht. Dann auf eines der "Berechen" klicken. Welches ist egal, haben alle (fast) den selben Code. Klickt man auf "Berechnen", wird die Fehlermeldung ausgegeben. Wie schon erwähnt, ist es mir merkwürdig, das es in einer anderen Arbeitsmappe fehlerfrei funktioniert. Ich hänge mal die Arbeitsmappe an, in der es funktioniert. Nach dem Öffnen der Arbeitsmappe auf das Symbol mit dem farbigen Kreis klicken. https://www.herber.de/bbs/user/42009.zip

Anzeige
AW: Fehler in UF-Code
25.04.2007 10:06:25
mumpel
Nachtrag: Das mit dem Ändern der Variablen habe ich schon probiert, der Fehler bleibt mir erhalten.

AW: Fehler in UF-Code
25.04.2007 23:26:13
Daniel
Hallo
das ist mir jetzt zuviel, das einzeln durchzuprüfen.
der Unterschied, den ich gefunden habe ist der, daß in der neueren Datei alle "on error resume next" aktiv sind, und in der alten Version eine auskommentiert sind.
Es ist kein guter Stil, wenn man, so wie hier On ERROR RESUME NEXT einfach pauschal setzt.
Wenn es durchdacht programmiert ist, braucht man diese Funktion nur höchst selten, und wenn dann sollte man sie nur gezielt einsetzten, nur dann, wenn ein Fehler nicht anders abzufangen ist und auch dann sollte man schnellstmöglich mit On ERROR GOTO 0 wieder in den Normalen Modus zurückschalten.
Durch das verwenden von On Error Resume Next werdn u.U. Fehler vertuscht, die sich dann an einer anderen Stelle fatal auswirken, aber die Fehlersuche ist dann recht schwierig, weil man ja nicht weiß, wo der Fehler auftaucht.
Gruß, Daniel
ich stell die Frage mal auf Offen, falls sich jemand anderes damit auseinandersetzen will.

Anzeige
AW: Fehler in UF-Code
26.04.2007 13:50:00
mumpel
Ich bin vielleicht eine vergessliche Schlafmütze. Habe doch tatsächlich eine alte Arbeitsmappe rausgekrammt. Habe ganz vergessen, das ich schon eine neuere Version und in dieser den Fehler selber behoben habe. Die Zeile "iMM = GetTextBox21Value" ist vollkommen überflüssig, ohne die funktioniert es. Trotzdem Danke für die Mühe. Muss mir in Zukunft nur merken, was ich mache. Dann bleiben auch die vermeidbaren Fehler aus.
Gruß, Rene

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige