Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit IsNumeric auf Basic Edition 2003

Probleme mit IsNumeric auf Basic Edition 2003
07.09.2007 12:53:00
Peter
Hallo alle zusammen,
in meinem Tool kontrolliere ich die Eingabe in mehreren Textfelder nach Zahlen.
In einigen Feldern sol ein Datum eingetragen werden in anderen normale Zahlen.
Ich habe das Tool mit Excel 2003 Professional gefertigt. Auf Small Business 2003 läuft es auch nur nicht auf Basic Edition 2003. Dort erkennt Excel nicht die Kontrolle nach Zahlen (über IsNumeric). Es erscheint nach der Eingabe des Datums immer meine MsgBox "Geben Sie ein gültiges Datum im Format dd.mm.yy ein" . Ich glaube zumindest das es an IsNumeric liegt!
Hier einer meiner Codes zur Datum Kontrolle:

Private Sub txtDatum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If txtDatum  "" Then
If Len(txtDatum)  8 Then
MsgBox "Geben Sie ein gültiges Datum im Format dd.mm.yy ein"
txtDatum = ""
Cancel = True
ElseIf InStrRev(txtDatum, ".")  6 And InStr(1, txtDatum, ".")  3 Then
MsgBox "Geben Sie ein gültiges Datum im Format dd.mm.yy ein"
txtDatum = ""
Cancel = True
ElseIf Not IsNumeric(txtDatum.Text) = True Then
MsgBox "Geben Sie ein gültiges Datum im Format dd.mm.yy ein"
txtDatum.Text = ""
Cancel = True
ElseIf CDate(txtDatum.Text) 


Weiss jemand wo das Problem ist?
Danke im Voraus
Grüße aus Berlin

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit IsNumeric auf Basic Edition 2003
07.09.2007 13:14:00
Herby
Hallo Peter,
die Hilfe zu IsNumeric sagt, dass als Ergebnis False rauskommt, wenn es sich um einen Datumswert
handelt. Warum fragst du nicht direkt ab, ob es sich um einen Datumswert handelt:
....
ElseIf Not IsDate(txtDatum.Text) = True Then
....
Viele Grüße
Herby

AW: Probleme mit IsNumeric auf Basic Edition 2003
07.09.2007 13:28:00
Rudi
Hallo,
da du anscheinend mehrere Felder prüft, lohnt es sich, die Prüfung auszulagern.

Private Sub txtDatum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Not checkDatum(txtDatum)
End Sub



Function checkDatum(objDatum As MSForms.TextBox) As Boolean
On Error GoTo FEHLER
If Len(objDatum) - Len(Replace(Replace(objDatum, ".", ""), "/", "")) = 2 Then
objDatum = Format(CDate(objDatum), "DD.MM.YY")
If CDate(objDatum) 


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Probleme mit IsNumeric auf Basic Edition 2003
07.09.2007 13:36:09
Herby
Hallo Rudi,
bin gerade am Ausprobieren der Datumsprüfung. Wenn ich bei deinem Code unsinnigen Text eingebe,
stürtzt das Makro ab. Kann man das auch einfach abfangen ?
Viele Grüße
Herby

AW: Probleme mit IsNumeric auf Basic Edition 2003
07.09.2007 13:55:00
Rudi
Hallo,
bei mir klappt das.
Bei Eingabe "Herby" sagt er mir, dass das kein Datum ist.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Keine Probleme mit deinem Makro
07.09.2007 22:00:02
Herby
Hallo Rudi,
ich habs gerade nochmals ausprobiert. Dabei ist mir mein Fehler aufgefallen.

Private Sub txtDatum1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Not checkDatum(txtDatum)
End Sub


Ich hab die Textbox in txtDatum1 umbenannt, aber beim Aufruf der Funktion den Parameter txtDatum
nicht angepasst. So kanns gehen wenn man nicht aufpasst.
Danke für Deine Antwort und noch ein schönes Wochenende
Herby

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige