Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehlermeldung bei falscher Zahleneingabe in VBA

Fehlermeldung bei falscher Zahleneingabe in VBA
20.09.2003 21:43:08
Joe
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.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
20.09.2003 21:50:43
Nepumuk
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
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
20.09.2003 23:41:52
Joe
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
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
21.09.2003 01:33:35
PeterW
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
Anzeige
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
21.09.2003 10:17:43
Sigi
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
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
21.09.2003 20:17:46
Joe
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
Anzeige
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
21.09.2003 21:15:03
Sigi
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
Anzeige
AW: Fehlermeldung bei falscher Zahleneingabe in VBA
21.09.2003 22:29:17
Joe
Hallo Sigi!!

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

Mfg Joe

309 Forumthreads zu ähnlichen Themen


Hallo zusammen.
Gibt es über VBA eine Möglichkeit, die Hintergrundfarbe einer Zelle in eine Zahl umzuwandeln und das schneller als mit for- Schleifen?
Habe einen Bereich ("J16:AG39"), wo ich per Zellaktivierung mit der Maus Zellen oder auch Zellbereiche mit einer Hintergrundfarbe verseh...
Anzeige

Hallo Excel-Freunde
ich möchte gern per Formel folgendes lösen:
in zelle a3 steht
1 haley, bill rock around the clock 1956
jetzt soll in b3 die "1" stehen --- löse ich per Formel mit =LINKS(A3;SUCHEN(" ";A3)-1)
in e3 soll "1956" stehen --- löse ich mit Array-Formel {=...

Hallo ihr lieben,
ich schreib jetzt schon den ganzen Tag an folgender Routine:
Private Sub CommandButton1_Click() Dim z As Integer z = Range("I101").End(xlUp).Row + 1 TextBox1 = Format(CDate(TextBox1.Value), "dd.mm.yyyy") Cells(z, 9) = TextBox1 'Datum des Tauchgangs Cells(z, 12) = Tex...
Anzeige

Hallo,
ich habe einen Textstring mit Zahlen die ich rechstbündig anordnnen will.
Text= "Beisiel: " & Format (Zahl,"#,###")
Wie wird die Zahl im Formatbefehl z.B rechtsbündig bei max 6 Stellen ausgegeben?
Gruß
Helmut

Hallo Gemeinde
Ich habe eine Zelle in einem .xlt, dort soll der User eine Zahl eingeben und mit dem Changeereignis
soll die Zahl in der Form JJ/###A umgewandelt werden.
Beispiel: 201 soll 08/201A werden. Das, was ich hier verbrochen habe, funst nicht, kann mir jemand helfen?
P...

Hallo zusammen,
ich habe folgendes Problem:
Mit dem u. a. Code werden Zeilen aus einer Datei in eine andere kopiert. Die Spalte B (B2:B65535) der Zieldatei ("Auswertung.xls)" soll nun aber zusätzlich noch mit 1 multipliziert werden, da diese ein Datum als Textzahl enthält und dieses in...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige