Das Archiv des Excel-Forums

Fehlermeldung bei falscher Zahleneingabe in VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Joe

Geschrieben am: 20.09.2003 21:43:08

Hallo Profis
Habe ein wahrscheinlich für euch kleines Problem mit der Eingabe von Zahlen.
Ich habe eine TextBox wo ich eine Zahl als Meter Eingeben kann, nun soll beim Verlassen der TextBox aber über VBA geprüft werden ob die Zahl einem Raster von 6,25cm entspricht. (Rastermaß: 0, 6.25, 12.5, 18.75, 25, 31.25,.....). Wenn dies nicht ist soll eine Fehlermeldung kommen.
Als kleines Beispiel wäre:
Falsch: 2,15 Meter sind kein Rastermaß, Fehlermeldung kommt
Richtig: 2,125 Meter Rastermaß vorhanden !

Hoffe Ihr habt eine Lösung für mich komm einfach nicht weiter !!!!!
Mir sind alle Vorschläge recht aber bitte über VBA.
Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Nepumuk
Geschrieben am: 20.09.2003 21:50:43

Hallo Joe,
dafür gibt es den Modulo-Operator.
0 Mod 6.25 = 0
6.25 Mod 6.25 = 0
18,75 Mod 6.25 = 0
alle anderen Rückgabewerte außer 0 passen also nicht in das Raster.
Gruß
Nepumuk


Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Joe
Geschrieben am: 20.09.2003 23:41:52

Hallo Nepumuk!

Einmal Danke für Deine schnelle Antwort, aber,..
Könntest Du die Eingabe ein wenig ausführlicher schreiben, komme nicht ganz mit wie es funktioniert. Großes Fragezeichen wenn Du mich verstehst.

Mfg Joe


Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: PeterW
Geschrieben am: 21.09.2003 01:33:35

Hallo Joe,

Mod liefert den Rest einer Division. 13:4 = 3 Rest 1. Wenn der Rest 0 ist geht die Division glatt aus, passt also in dein Raster.

Gruß
Peter


Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Sigi
Geschrieben am: 21.09.2003 10:17:43

Hallo Joe, hallo Nepumuk,

der Modulo-Operator gilt nur für ganzzahlige Division mit Rest!
Es muss also auf Ganzzahligkeit geprüft werden ...

Sub TEST()
Dim Eingabe As Double
Let Eingabe = 18.7555
If (Eingabe * 100) = Int(Eingabe * 100) And (Eingabe * 100) Mod 625 = 0 Then
MsgBox "Passt!"
Else
MsgBox "Nee, passt nicht!"
End If
End Sub

Gruß
Sigi


Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Joe
Geschrieben am: 21.09.2003 20:17:46

Hallo Sigi

Deine Antwort habe ich nun getestet funkt super bis auf eins da ich die Eingaben in Meter machen muss habe ich zum Teil 4 Nachkomma stellen (2,1875m) und genau bei den vier Nachkommastellen funktioniert es nicht. Nun meine Frage: Wie kann ich den Code so ändern damit er Vier Nachkommastellen überprüft??

Nochmals Danke für Eure Mühe!!!

Mfg Joe


Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Sigi
Geschrieben am: 21.09.2003 21:15:03

Hallo Joe,

ganz einfach, um Faktor 100 erhöhen ...

Sub TEST()
Dim Eingabe As Double
Eingabe = 2.1875
If (Eingabe * 10000) = Int(Eingabe * 10000) And (Eingabe * 10000) Mod 625 = 0 Then
MsgBox "Passt!"
Else
MsgBox "Nee, passt nicht!"
End If
End Sub

oder das Ganze als VBA-Funktion ...

Function IstPassendesRaster(Eingabe As Double) As Boolean
If (Eingabe * 10000) = Int(Eingabe * 10000) And (Eingabe * 10000) Mod 625 = 0 Then
IstPassendesRaster = True
Else
IstPassendesRaster = False
End If
End Function

in A1 steht dein Wert in Metern (2,1875)
"=IstPassendesRaster(A1)"

Gruß
Sigi


Bild


Betrifft: AW: Fehlermeldung bei falscher Zahleneingabe in VBA
von: Joe
Geschrieben am: 21.09.2003 22:29:17

Hallo Sigi!!

Super jetz funktioniert das ganze einwandfrei so wie ich das wollte.
Danke Dir recht Herzlich

Mfg Joe


 Bild

Excel-Beispiele zum Thema " Fehlermeldung bei falscher Zahleneingabe in VBA"

Fehlermeldung #NV ausblenden download Fehlermeldung abfangen download
Fehlermeldung #DIV/0! verhindern download Fehlermeldung abfangen und in sequentielle Datei schreiben download
VBA-Fehlermeldungen auflisten download Alle Zellen mit der #BEZUG!-Fehlermeldung auswählen download
Zahlenstring mit Formel auslesen und Fehlermeldung verhindern download Makro mit Excape-Taste ohne Fehlermeldung beenden download
Fehlermeldung, wenn nicht der erwartete Wert eingetragen wird download Bei falscher Eingabe alten Wert wiederherstellen download
Anzeige eines Zahlwortes synchron zur Textbox-Zahleneingabe download Zahleneingaben in InputBox erzwingen download