Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
InputBox nur ganze Zahlen
31.05.2007 18:00:03
Christian
Servus,
hab mir folgenden Code besorgt:

Sub nurzahlen()
Dim varEingabe As Variant
Dim lngEingabe
On Error GoTo nochmal
nochmal:
lngEingabe = CLng(Application.InputBox("Eingabe"))
On Error GoTo 0 ' on Error zurücksetzen
End Sub


der mir nur Zahlen als Eingabe zulässt, funktioniert auch soweit. Das Problem ist nur, dass, wenn ich eine MsgBox dazwischen schalte, beim Ausführen des Codes zuerst die MsgBox kommt und dann erst das Eingabefeld.
meinte so:


Sub nurzahlen()
Dim varEingabe As Variant
Dim lngEingabe
On Error GoTo nochmal
nochmal:
MsgBox("Falsche Eingabe:")
lngEingabe = CLng(Application.InputBox("Eingabe"))
On Error GoTo 0 ' on Error zurücksetzen
End Sub


Das will ich aber nicht. Es soll zuerst die Abfrage kommen und falls eine falsche Eingabe gemacht wurde, dann die MsgBox.
Am liebsten wäre mir , wenn man nur ganze Zahlen zwischen 1 und 9999 eingeben könnte (momentan alles mit runden, also 1,67 wird 2).
Bin für jeden Tipp dankbar.
Gruß
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: InputBox nur ganze Zahlen
31.05.2007 18:24:00
Felix
Hallo,
mache es do so:

Sub nurzahlen()
Dim varEingabe As Variant
Dim lngEingabe
Err.Clear
On Error GoTo nochmal
nochmal:
If Err.Number Then MsgBox ("Falsche Eingabe:")
lngEingabe = CLng(Application.InputBox("Eingabe"))
On Error GoTo 0 ' on Error zurücksetzen
End Sub


Gruß,
Felix

Typen unverträglich !
01.06.2007 07:04:00
Matthias
Hallo Felix
Da ich oft im Forum allerlei Beiträge lese und viel nachbaue um zu lernen (Danke dafür an alle User hier im Forum)
ist mir da gerade etwas aufgefallen.
Schreib mal einen "Text" in die Inputbox(oder lasse sie leer).
Drücke nun "Ok"
Es erscheint wie gewünscht Falsche Eingabe
Die Inputbox erscheint erneut.
Jetzt drücke einfach nochmal Enter oder Ok (ohne etwas einzutragen)
Bei mir kommt nun der Fehler: "Typen unverträglich".
mein Vorschlag wäre daher Folgender:
wobei ich (Dim varEingabe As Variant) weggelassen habe (scheint ja nicht gebraucht zu werden)

Sub NurZahlen()
Dim lngEingabe As String
nochmal:
lngEingabe = InputBox("Eingabe")
If Not IsNumeric(lngEingabe) Then MsgBox ("Falsche Eingabe:"): GoTo nochmal
End Sub


Gruß Matthias

Anzeige
AW: Typen unverträglich !
01.06.2007 07:52:00
Chaos
Servus,
ich würde das folgendermaßen lösen, da ja nur ganze Zahlen im Bereich von 1-9999 eingegeben werden sollen:

Sub NurZahlen()
Dim dZahl As String
nochmal:
dZahl = InputBox("Eingabe")
If StrPtr(dZahl) = 0 Then
nachricht = MsgBox("Wollen Sie wirklich abbrechen ?" & Chr(13) & Chr(13), vbYesNo)
If nachricht = vbYes Then
Exit Sub
Else
GoTo nochmal
End If
End If
If IsNumeric(dZahl) Then
If dZahl > 0 And dZahl 


Gruß
Dann gibt es auch kein Typen unverträglich.
Chaos

AW: InputBox nur ganze Zahlen
01.06.2007 08:02:11
Christian
Hallo,
erstmal Danke euch dreien.
Ich werde alles testen.
Gruß
Christian
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige