Anzeige
Archiv - Navigation
1764to1768
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
Inhaltsverzeichnis

Textbox nur Zahlen von 0 - 1 zulassen

Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel

Hey,
in meiner Textbox sollen nur Werte zwischen 0 - 1 reingeschrieben werden mit einer Kommastelle, sprich
0, 0,1, 0,2, 0,3, 0,4, 0,5 ..... 1.
Das ist mein bisheriger Quellcode dazu:

Private Sub TextBox30_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 46
Case Else: KeyAscii = 0
End Select
End Sub

Hiermit kann man jetzt nur Zahlen mit einer Kommastelle eingeben. Jedoch bekomme ich es nicht hin, dass es nur möglich ist die oben genannten Zahlen einzutragen.
Vielen Dank für die Hilfe
Liebe Grüße
Erik

Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hallo Erik
Private Sub TextBox1_Change()
If TextBox1.Value = "" Then Exit Sub
If TextBox1.Value < 0 Or TextBox1 > 1 Then
MsgBox "Fehler"
End If
End Sub

Gruss Werni
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Danke schonmal,
jedoch ist das nicht das was ich eigentlich möchte.
Vielleicht ich das so gar nicht möglich wie ich das will, aber bei deiner Lösung kann man ja noch andere Zahlen außer 0, 0,1, 0,2, 0,3, 0,4, 0,5 ..... 1 eingeben und es kommt nur eine Fehlermeldung.
Ich möchte aber, dass man erst gar nicht andere Zahlen eingeben kann.
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hallo Erik
Dann so:
Private Sub TextBox1_Change()
If TextBox1.Value = "" Then Exit Sub
If TextBox1.Value < 0 Or TextBox1 > 1 Then
TextBox1.Value = ""
End If
End Sub

Gruss Werni
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hey,
danke nochmal für deine schnelle Antwort. Ist eine gute Lösung. Trotzdem nochmal eine andere Frage: Ich hab im Internet eine andere Lösung gefunden wo man nur Zahlen zwischen 0 und 9999,99 eingeben darf.
Ich kriege das aber irgendwie nicht auf meine Anforderungen geändert:
Kannst du mir dabei vielleicht helfen?
Deine Lösung kann ich natürlich auch nehmen, nur mich interessiert die andere Lösung auch.
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
If Len(TextBox2) - InStrRev(TextBox2, ",") > 1 Then
KeyAscii = 0
End If
Case 44
If InStr(TextBox2, ",") > 0 Then
KeyAscii = 0
End If
Case Else: KeyAscii = 0
End Select
If CDbl(TextBox2 & KeyAscii) > 100000 Then
KeyAscii = 0
End If
End Sub

Liebe Grüße
Erik
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hallo Erik,
mit Wernis Lösung kannst du weiterhin z. B. 1,091191 eingeben.
Und auch sonst kann man x-beliebig viele Nachkommastellen eintragen.
Wenn ich dich richtig verstanden habe, möchtest du die ja auf eine Nachkomma begrenzen!?
Füge folgende Zeilen noch in deinen Code als eigenen If-Block ein, dann werden auch Einträge mit 2 Nachkommastellen wieder gelöscht:
If Len(TextBox1.Value) > 3 Then
TextBox1.Value = ""
Gruß Pierre
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.

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

Betreff
Datum
Anwender
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
Hallo Erik
Private Sub TextBox1_Change()
If TextBox1.Value = "" Then Exit Sub
If TextBox1.Value < 0 Or TextBox1 > 1 Then
MsgBox "Fehler"
End If
End Sub

Gruss Werni
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Danke schonmal,
jedoch ist das nicht das was ich eigentlich möchte.
Vielleicht ich das so gar nicht möglich wie ich das will, aber bei deiner Lösung kann man ja noch andere Zahlen außer 0, 0,1, 0,2, 0,3, 0,4, 0,5 ..... 1 eingeben und es kommt nur eine Fehlermeldung.
Ich möchte aber, dass man erst gar nicht andere Zahlen eingeben kann.
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hallo Erik
Dann so:
Private Sub TextBox1_Change()
If TextBox1.Value = "" Then Exit Sub
If TextBox1.Value < 0 Or TextBox1 > 1 Then
TextBox1.Value = ""
End If
End Sub

Gruss Werni
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hey,
danke nochmal für deine schnelle Antwort. Ist eine gute Lösung. Trotzdem nochmal eine andere Frage: Ich hab im Internet eine andere Lösung gefunden wo man nur Zahlen zwischen 0 und 9999,99 eingeben darf.
Ich kriege das aber irgendwie nicht auf meine Anforderungen geändert:
Kannst du mir dabei vielleicht helfen?
Deine Lösung kann ich natürlich auch nehmen, nur mich interessiert die andere Lösung auch.
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
If Len(TextBox2) - InStrRev(TextBox2, ",") > 1 Then
KeyAscii = 0
End If
Case 44
If InStr(TextBox2, ",") > 0 Then
KeyAscii = 0
End If
Case Else: KeyAscii = 0
End Select
If CDbl(TextBox2 & KeyAscii) > 100000 Then
KeyAscii = 0
End If
End Sub

Liebe Grüße
Erik
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hallo Erik,
mit Wernis Lösung kannst du weiterhin z. B. 1,091191 eingeben.
Und auch sonst kann man x-beliebig viele Nachkommastellen eintragen.
Wenn ich dich richtig verstanden habe, möchtest du die ja auf eine Nachkomma begrenzen!?
Füge folgende Zeilen noch in deinen Code als eigenen If-Block ein, dann werden auch Einträge mit 2 Nachkommastellen wieder gelöscht:
If Len(TextBox1.Value) > 3 Then
TextBox1.Value = ""
Gruß Pierre
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
Danke schonmal,
jedoch ist das nicht das was ich eigentlich möchte.
Vielleicht ich das so gar nicht möglich wie ich das will, aber bei deiner Lösung kann man ja noch andere Zahlen außer 0, 0,1, 0,2, 0,3, 0,4, 0,5 ..... 1 eingeben und es kommt nur eine Fehlermeldung.
Ich möchte aber, dass man erst gar nicht andere Zahlen eingeben kann.
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hallo Erik
Dann so:
Private Sub TextBox1_Change()
If TextBox1.Value = "" Then Exit Sub
If TextBox1.Value < 0 Or TextBox1 > 1 Then
TextBox1.Value = ""
End If
End Sub

Gruss Werni
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hey,
danke nochmal für deine schnelle Antwort. Ist eine gute Lösung. Trotzdem nochmal eine andere Frage: Ich hab im Internet eine andere Lösung gefunden wo man nur Zahlen zwischen 0 und 9999,99 eingeben darf.
Ich kriege das aber irgendwie nicht auf meine Anforderungen geändert:
Kannst du mir dabei vielleicht helfen?
Deine Lösung kann ich natürlich auch nehmen, nur mich interessiert die andere Lösung auch.
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
If Len(TextBox2) - InStrRev(TextBox2, ",") > 1 Then
KeyAscii = 0
End If
Case 44
If InStr(TextBox2, ",") > 0 Then
KeyAscii = 0
End If
Case Else: KeyAscii = 0
End Select
If CDbl(TextBox2 & KeyAscii) > 100000 Then
KeyAscii = 0
End If
End Sub

Liebe Grüße
Erik
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hallo Erik,
mit Wernis Lösung kannst du weiterhin z. B. 1,091191 eingeben.
Und auch sonst kann man x-beliebig viele Nachkommastellen eintragen.
Wenn ich dich richtig verstanden habe, möchtest du die ja auf eine Nachkomma begrenzen!?
Füge folgende Zeilen noch in deinen Code als eigenen If-Block ein, dann werden auch Einträge mit 2 Nachkommastellen wieder gelöscht:
If Len(TextBox1.Value) > 3 Then
TextBox1.Value = ""
Gruß Pierre
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
Hallo Erik
Dann so:
Private Sub TextBox1_Change()
If TextBox1.Value = "" Then Exit Sub
If TextBox1.Value < 0 Or TextBox1 > 1 Then
TextBox1.Value = ""
End If
End Sub

Gruss Werni
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hey,
danke nochmal für deine schnelle Antwort. Ist eine gute Lösung. Trotzdem nochmal eine andere Frage: Ich hab im Internet eine andere Lösung gefunden wo man nur Zahlen zwischen 0 und 9999,99 eingeben darf.
Ich kriege das aber irgendwie nicht auf meine Anforderungen geändert:
Kannst du mir dabei vielleicht helfen?
Deine Lösung kann ich natürlich auch nehmen, nur mich interessiert die andere Lösung auch.
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
If Len(TextBox2) - InStrRev(TextBox2, ",") > 1 Then
KeyAscii = 0
End If
Case 44
If InStr(TextBox2, ",") > 0 Then
KeyAscii = 0
End If
Case Else: KeyAscii = 0
End Select
If CDbl(TextBox2 & KeyAscii) > 100000 Then
KeyAscii = 0
End If
End Sub

Liebe Grüße
Erik
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hallo Erik,
mit Wernis Lösung kannst du weiterhin z. B. 1,091191 eingeben.
Und auch sonst kann man x-beliebig viele Nachkommastellen eintragen.
Wenn ich dich richtig verstanden habe, möchtest du die ja auf eine Nachkomma begrenzen!?
Füge folgende Zeilen noch in deinen Code als eigenen If-Block ein, dann werden auch Einträge mit 2 Nachkommastellen wieder gelöscht:
If Len(TextBox1.Value) > 3 Then
TextBox1.Value = ""
Gruß Pierre
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
Hey,
danke nochmal für deine schnelle Antwort. Ist eine gute Lösung. Trotzdem nochmal eine andere Frage: Ich hab im Internet eine andere Lösung gefunden wo man nur Zahlen zwischen 0 und 9999,99 eingeben darf.
Ich kriege das aber irgendwie nicht auf meine Anforderungen geändert:
Kannst du mir dabei vielleicht helfen?
Deine Lösung kann ich natürlich auch nehmen, nur mich interessiert die andere Lösung auch.
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
If Len(TextBox2) - InStrRev(TextBox2, ",") > 1 Then
KeyAscii = 0
End If
Case 44
If InStr(TextBox2, ",") > 0 Then
KeyAscii = 0
End If
Case Else: KeyAscii = 0
End Select
If CDbl(TextBox2 & KeyAscii) > 100000 Then
KeyAscii = 0
End If
End Sub

Liebe Grüße
Erik
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

Hallo Erik,
mit Wernis Lösung kannst du weiterhin z. B. 1,091191 eingeben.
Und auch sonst kann man x-beliebig viele Nachkommastellen eintragen.
Wenn ich dich richtig verstanden habe, möchtest du die ja auf eine Nachkomma begrenzen!?
Füge folgende Zeilen noch in deinen Code als eigenen If-Block ein, dann werden auch Einträge mit 2 Nachkommastellen wieder gelöscht:
If Len(TextBox1.Value) > 3 Then
TextBox1.Value = ""
Gruß Pierre
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
Hallo Erik,
mit Wernis Lösung kannst du weiterhin z. B. 1,091191 eingeben.
Und auch sonst kann man x-beliebig viele Nachkommastellen eintragen.
Wenn ich dich richtig verstanden habe, möchtest du die ja auf eine Nachkomma begrenzen!?
Füge folgende Zeilen noch in deinen Code als eigenen If-Block ein, dann werden auch Einträge mit 2 Nachkommastellen wieder gelöscht:
If Len(TextBox1.Value) > 3 Then
TextBox1.Value = ""
Gruß Pierre
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen

HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
HI
muss es ne TextBox sein?
in einer Zelle kannst du das über Daten - Datenüberprüfung - Datenüberprüfung - Zulassen: Dezimal - zwischen festlegen.
ansonsten, erstelle zusätzlich eine Combobox mit der Auswahl 1 und 0 als mögliche vorkommastellen, und wenn der Anwender dann die 0 auswählt, blendest du die TextBox ein, und man kann dort die Nachkommastellen eingeben. Hierbei kannst du dann über das Keypress nur die Ziffern zulassen, um das Komma und dessen Position brauchst du dich nicht zu kümmern
Gruß Daniel
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
Anzeige
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
Hey Daniel,
bei der ComboBox ist das problem, dass die ComboBox ganz weit unten in der Userform angeordnet wird, und das sieht dann nicht mehr ganz so gut aus wenn da 10 mögliche Zahlen stehen
Trotzdem Danke
Betrifft: AW: Textbox nur Zahlen von 0 - 1 zulassen
die Combobox sollte direkt vor der TextBox stehen.
AW: Textbox nur Zahlen von 0 - 1 zulassen
23.06.2020 14:05:10
Daniel
die Combobox sollte direkt vor der TextBox stehen.

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige