VBA-Excel... Wert aus Inputbox in Zelle Schreiben...
Wie kann ich den Wert aus einer Inputbox in die Zelle G1 schreiben lassen?
hallöle...
Google hat hierzu nichts gefunden...
Wie kann ich den Wert aus einer Inputbox mittels Makro in die Zelle G1 schreiben?
Und wie kann ich die InputBox so formatieren, dass sie nur Zahlen annimt, und bei eingabe eines Buchstaben oder Sondezeichen eine Warnung kommt?
Der Derzeitige Code:
LG
Cewie
hallöle...
Google hat hierzu nichts gefunden...
Wie kann ich den Wert aus einer Inputbox mittels Makro in die Zelle G1 schreiben?
Und wie kann ich die InputBox so formatieren, dass sie nur Zahlen annimt, und bei eingabe eines Buchstaben oder Sondezeichen eine Warnung kommt?
Der Derzeitige Code:
Dim inpt As Integer
inpt = InputBox("Geben Sie bitte die Zahl ein.")
Cewie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 143214
Url: https://administrator.de/forum/vba-excel-wert-aus-inputbox-in-zelle-schreiben-143214.html
Ausgedruckt am: 07.04.2025 um 03:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo @all!
Das Thema "nur Zahlen als Eingabe zulassen" hatten wir neulich hier ein wenig durchgekaut ...
@cewiethemaster: Bei einer "
Wenn eine derartige Überprüfung mehrfach benötigt wird, bietet es sich an, sie in eine "
Um auch negative Zahlen zu akzeptieren, könnte die Prüfroutine so aussehen:
Grüße
bastla
Das Thema "nur Zahlen als Eingabe zulassen" hatten wir neulich hier ein wenig durchgekaut ...
@cewiethemaster: Bei einer "
InputBox()
" kannst Du das gewünschte Ergebnis(-Format) nicht vorgeben, sondern nur den String, den sie geliefert hast, im Nachhinein prüfen. Soferne (als einfachster Fall) die Eingabe nur aus Ziffern bestehen darf, wäre etwa folgende Vorgangsweise möglich:Sub Eingabe()
Dim inpt As String, OK As Boolean, i As Integer
Do
inpt = InputBox("Geben Sie bitte die Zahl ein.")
OK = True
For i = 1 To Len(inpt)
If Mid(inpt, i, 1) < "0" Or Mid(inpt, i, 1) > "9" Then
OK = False
Exit For
End If
Next
Loop Until OK Or inpt = "" 'leere Eingabe bzw "Abbrechen" als Abbruchbedingung akzeptieren
If inpt = "" Then
MsgBox "Na gut, dann nicht!"
Exit Sub
End If
Range("G1").Value = inpt
End Sub
Function
" auszulagern, was dann etwa so aussähe:Sub Eingabe()
Dim inpt As String
Do
inpt = InputBox("Geben Sie bitte die Zahl ein.")
Loop Until IstZahl(inpt) Or inpt = "" 'leere Eingabe bzw "Abbrechen" als Abbruchbedingung akzeptieren
If inpt = "" Then
MsgBox "Na gut, dann nicht!"
Exit Sub
End If
Range("G1").Value = inpt
End Sub
Function IstZahl(Zahl As String) As Boolean
Dim i As Integer, Ziffer As String
IstZahl = True
For i = 1 To Len(Zahl)
Ziffer = Mid(Zahl, i, 1)
If Ziffer < "0" Or Ziffer > "9" Then
If i > 1 Or Ziffer <> "-" Or Zahl = "-" Then
IstZahl = False
Exit For
End If
End If
Next
End Function
Function IstZahl(Zahl As String) As Boolean
Dim i As Integer, Ziffer As String
IstZahl = True
For i = 1 To Len(Zahl)
Ziffer = Mid(Zahl, i, 1)
If Ziffer < "0" Or Ziffer > "9" Then
If i > 1 Or Ziffer <> "-" Or Zahl = "-" Then
IstZahl = False
Exit For
End If
End If
Next
End Function
bastla