Ich möchte den Bereich der akzeptierten Werte einschränken, die Benutzer eingeben können.InputBox: Nur bestimmte Wertebereiche zulassen
Zum Beispiel möchte ich 0-100 nur erlauben, und wenn sie über 100 eingeben, dann
- automatisch einen Standardwert (wie 10) und
- erstellen eine Pop-up-Nachricht eingeben zeigt an, dass der Standardwert angewendet wurde.
Hier ist, was ich bisher habe:
Dim CO2PriceBox As Variant
CO2PriceBox = InputBox("Please Enter CO2 Allowance Price ($/ton)", "Enter CO2 Allowance Price", 0)
Range("C11").Value = CO2PriceBox
FYI: Die 'IsNumeric (CO2PriceBox)' ist veraltet, da alle nicht-numerischen Werte einen VBA-Fehler am '<' Zeichen auslösen (weil es nicht verglichen werden kann). Dennoch ist es möglich, 'Application.InputBox' mit' Type: = 1' zu verwenden, um dies standardmäßig zu vermeiden. ;) –
Danke! Diese Lösung ist fast perfekt, aber ein kleines Problem: Ich tippte es genau wie angegeben und es funktioniert reibungslos, aber es stellt den Wert in der Zelle nicht auf den Standardwert (10) zurück, wenn ein eingegebener Wert außerhalb des Bereichs liegt . Es korrigiert es in der Dialogbox, aber nicht die tatsächliche Zelle. Irgendein Rat? Vielen Dank! – user6851629
Macht nichts, Problem gelöst! Ich musste nur "Range (" C11 ") hinzufügen. Value = CO2PriceBox" nach der Zeile, die das Makro anweist, den Standardwert zu verwenden. Vielen Dank! – user6851629