Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
404to408
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
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inputbox mit mehreren Bedingungen
Klaus
Guten Abend.
ich gebe über eine Inputbox einen Wert an C2

Sub EingabeÜberInputbox()
Dim wert01 As Variant
Dim MaxW As Variant
MaxW = Range("c1").Value
wert01 = InputBox("", "Bitte geben Sie eine Nummer ein")
If wert01 = "" Then Exit Sub
Range("c2").Value = (wert01 - 1)
End Sub

Ich möchte jetzt noch zusätzliche Bedingungen einbauen:
Bei wert01 MaxW soll auch "Exit Sub" folgen und
bei wert01 = "a" soll MsgBox folgen
"if wert01 = "" Or wert01 MaxW Then Exit Sub"
gibt die Meldung "Typen unverträglich". Kann mir jemand helfen?
Danke im voraus
Klaus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Inputbox mit mehreren Bedingungen
Uwe
Hallo, Klaus!
Mit der Übergabe aus der Inputbox, wird der Typ Variant mit einem bestimmten Datentyp belegt, so dass entwerder nur die Behandlung als String oder nur als Numeric möglich ist.
Daher ist die vorgesehene, erweiterte IF-abfrage aufzuteilen:
z.B.
if IsNumeric(wert01) then
if wert01 < 1 Or wert01 > MaxW then
exit sub
end if
else
if wert01 = "" then
exit sub
else
if wert01="a" then
MesBox ....
end if
end if
end if

Gruß!
AW: Inputbox mit mehreren Bedingungen
Klaus
Hallo Uwe,
Danke für die Antwort!
Habe alles so eingegeben wie Du vorschlägst, aber wenn ich z.B. den Wert 20
eingebe wird die letzte Anweisung
Range("c2").Value = (wert01 - 1)
nicht ausgeführt, obwohl keine der vorderen Bedingungen zutrifft (MaxW = 1800).
Woran kann das liegen?
Klaus
Anzeige
AW: Inputbox mit mehreren Bedingungen
Uwe
Sorry, war mein Fehler!
Bitte versuche,

If wert01 = "a" Then
MsgBox ("Nachricht")
Else
If Val(wert01) < Or Val(wert01) > MaxW Then Exit Sub
Range("c2").Value = (wert01 - 1)
End If

wenn Dir nicht bereits die Anwort von PeterW geholfen hat. Die Begründng, die ich vorher gab, ist jedoch auch nicht korrekt, da die Inputbox in jedem Fall einen String liefert.
Gruß!
Super. Das war's. Danke!
28.03.2004 00:17:51
Klaus
Danke! Und einen schönen Abend noch.
Klaus
AW: Inputbox mit mehreren Bedingungen
PeterW
Hallo Klaus,
warum baust du nicht einen Errorhandler ein, der sowohl den Leerstring als auch Texteingaben verhindert? Wenn du dann noch die Variablen gezielt dimensionierst dürftest du die Probleme los ein:

Sub EingabeÜberInputbox()
Dim wert01 As Integer
Dim MaxW As Integer
MaxW = Range("c1").Value
On Error GoTo ErrHandler
wert01 = InputBox("Bitte geben Sie eine Nummer ein")
If wert01 < 1 Or wert01 > MaxW Then Exit Sub
Range("c2") = wert01 - 1
Exit Sub
ErrHandler:
End Sub

Gruß
Peter
Anzeige
AW: Inputbox mit mehreren Bedingungen
28.03.2004 00:21:34
Klaus
Hallo Peter,
auch Dir ein Dankeschön für die Antwort.
Mit ErrHandler ist eine interessante Variante.
Einen schönen Abend noch
Klaus

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige