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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 143214
Url: https://administrator.de/contentid/143214
Printed on: April 24, 2024 at 22:04 o'clock
4 Comments
Latest comment
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