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

Inputbox: False vs. 0 ?

Inputbox: False vs. 0 ?
25.09.2003 13:27:27
Marc
Hallo zusammen !

Ich verzweifel mal wieder über einem wahrscheinlich trivialen Problem.
Für eine Prozentangabe soll in einer Inputbox eine Angabe zwischen 1 und 100 gemacht werden.
Bei einem Wert <1 oder > 100 wird die Inputbox erneut aufgerufen, beim Klick auf "Abbrechen" abgebrochen.

Der Code dazu:

eingabe = Application.Inputbox("Ihre Eingabe", "Eingabe" , Type:=1)
If eingabe = False Then exit Sub
If Not (eingabe > 0 And eingabe < 101) Then
Do
eingabe = Application.Inputbox("Ihre Eingabe", "Eingabe" , Type:=1)
If eingabe = False Then exit Sub
Loop Until (eingabe > 0 And eingabe < 101)
End If

Mein Problem dabei ist nun, dass eine "0" als Eingabe vom Anwender ebenfalls als "False" interpretiert wird und das Makro aufgrund des "exit sub" aussteigt.
Das möchte ich jedoch verhindern.

Aber wie ?

Ich danke euch mal wieder im Vorraus.

Viele Grüsse,
Marc

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox: False vs. 0 ?
25.09.2003 13:32:22
ChrisL
Hi Marc

Müsste es nicht grösser gleich Null lauten?

eingabe >= 0

Gruss
Chris
AW: Inputbox: False vs. 0 ?
25.09.2003 13:52:00
ChrisL
Hi Marc

Jetzt versteh ich das Problem erst... als Krücke fällt mir ein, die eingabe als String zu deklarieren und dann If eingabe = "Falsch" Then exit sub.

Kannst dann die Datei leider nicht mehr auf einem anders sprachigen Excel verwenden.

Der Vergleich der Werte dann mit Val(eingabe) usw.

Der Hinweis mit dem grösser gleich ist aber trotzdem richtig.

Gruss
Chris
Danke ! Läuft fast perfekt...
25.09.2003 14:05:52
Marc
Hi Chris,

Deine Krücke ist super und das mit dem andersprachigen Excel bekomme ich mit ner "Or"-Abgrage in den Griff !!!

Danke !!!

Jetzt habe ich noch ein kleines Problemchen eher kosmetischer Natur.
Wenn in der Inputbox nichts eingegeben wird, bekomme ich eine Formelfehlermeldung.
Danach läuft das Makro einwandfrei weiter, die Inputbox wird brav erneut ausgeführt.
Kann ich diese Fehlermeldung noch irgendwie unterdrücken ?

Viele Grüsse,
Marc
Anzeige
AW: Danke ! Läuft fast perfekt...
25.09.2003 14:13:33
WernerB.
Hallo Marc,

wie gefällt Dir das:

Option Explicit

Sub Marc()
Dim eing1 As String
Dim eing2 As Byte
Do
eing1 = InputBox("Ihre Eingabe:", "Eingabe")
If Not IsNumeric(eing1) Then Exit Sub
Loop Until (eing1 >= 0 And eing1 <= 100)
eing2 = CByte(eing1)
MsgBox eing2
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Danke ! Jetzt läuft's perfekt...
25.09.2003 14:22:23
Marc
Oh Werner,

das ist super !!
Man sieht manchmal den Wald ....

Ich war von der einfachen Inputbox zur Application.Inputbox umgeschwenkt, weil ich das Abbruchproblem nicht in den Griff bekam, aber so läufts mit wesentlich weniger Aufwand perfekt !

Super und Danke !!

Grüsse,
Marc
Anzeige
AW: Inputbox: False vs. 0 ?
25.09.2003 13:32:57
WernerB.
Hallo Marc,

wie wäre es damit:

eingabe >= 0 And eingabe <= 100

Gruß WernerB.
AW: Inputbox: False vs. 0 ?
25.09.2003 13:33:36
xXx
Hallo,
Inputbox liefert beim Klick auf 'Abbrechen' einen Leerstring!
If Eingabe="" then Exit Sub

Gruß aus'm Pott
Udo
AW: Inputbox: False vs. 0 ?
25.09.2003 13:44:33
Marc
Hallo zusammen !

Leider führt mich das nicht weiter.

Beim Klick auf "Abbrechen" wird die Abfrage ob eingabe > 0 ist ja gar nicht mehr ausgeführt.
Wenn eine 0 eingegeben wird führt die Abfrage:
If eingabe = False Then exit Sub
zum Ausstieg aus dem Makro.

Ich habe mir den Wert von eingabe mal in einer MsgBox ausgeben lassen nach Eingabe von 0 und eingabe hat dann den Wert False.

Auch die von Udo angegebene Änderung in
If eingabe = "" Then exit Sub
führt dazu, dass beim Klick auf "Abbrechen" das Makro weiter ausgeführt wird.

Danke für die schnellen ANtworten, aber diese helfenmir nicht so recht weiter, jemand noch ne andere Idee ?

Viele Grüsse,
Marc
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige