Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In Textbox nur Zahlen zulassen

In Textbox nur Zahlen zulassen
07.11.2005 13:09:24
Tinu
Liebe Excel Spezialisten
In einer UserForm habe ich eine Textbox, in welcher ich nur Zahlen zulassen möchte (ähnlich wie mit der Datengültigkeit im Tabellenblatt). Gibt es dazu eine Möglichkeit?
Für Euere Hilfe wäre ich sehr dankbar!
Gruss
Tinu
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Textbox nur Zahlen zulassen
07.11.2005 13:19:04
Fred
Hi,
zu ungenau, was für Zahlen, Ganzzahlen oder auch Dezimalzahlen? Falls Dezimalzahlen,
ist soll die Anzahl der Kommastellen begrenzt sein, wenn ja, auf wieviele?
mfg Fred
AW: In Textbox nur Zahlen zulassen
07.11.2005 13:22:34
Tinu
Hallo Fred
Danke für die rasche Antwort. Es sollen nur Ganzzzahlen zulässig sein.
mfG
Tinu
AW: In Textbox nur Zahlen zulassen
07.11.2005 13:26:06
Fred
Hi,

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

mfg Fred
Anzeige
AW: In Textbox nur Zahlen zulassen
07.11.2005 13:38:00
Tinu
Hi Fred
raffiniert!! Verhält sich genau wie ich es mir wünsche :))
vielen Dank
Tinu
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

In einer Excel-Textbox nur Zahlen zulassen


Schritt-für-Schritt-Anleitung

Um in einer Excel-UserForm eine Textbox zu erstellen, die nur Zahlen zulässt, kannst Du den folgenden VBA-Code verwenden. Dieser Code stellt sicher, dass nur Ganzzahlen eingegeben werden können.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge eine UserForm hinzu, indem Du im Menü "Einfügen" -> "UserForm" auswählst.
  3. Füge eine TextBox zu Deiner UserForm hinzu.
  4. Klicke mit der rechten Maustaste auf die TextBox und wähle "Code anzeigen".
  5. Füge den folgenden Code in das Codefenster ein:
Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
        Case 48 To 57 ' ASCII-Werte für 0-9
        Case Else: KeyAscii = 0 ' andere Zeichen nicht zulassen
    End Select
End Sub
  1. Schließe den VBA-Editor und teste Deine UserForm.

Auf diese Weise hast Du eine Excel VBA Textbox, die nur Zahlen zulässt.


Häufige Fehler und Lösungen

  • Fehler: Textbox akzeptiert auch Buchstaben.

    • Lösung: Stelle sicher, dass der oben genannte Code korrekt in die TextBox eingefügt wurde.
  • Fehler: Textbox akzeptiert keine Eingaben.

    • Lösung: Überprüfe, ob die TextBox aktiv ist und dass keine anderen Steuerelemente den Fokus haben.

Alternative Methoden

Eine alternative Methode, um nur Zahlen in einer TextBox zuzulassen, ist die Verwendung von Datengültigkeit im Tabellenblatt. Du kannst die Eingabe auf Zahlen beschränken, indem Du Folgendes tust:

  1. Wähle die Zelle aus, die Du einschränken möchtest.
  2. Gehe zu "Daten" -> "Datengültigkeit".
  3. Wähle "Zahl" aus dem Dropdown-Menü und lege die entsprechenden Bedingungen fest (z.B. nur ganze Zahlen).

Diese Methode ist nützlich, wenn Du in einer Zelle auf dem Arbeitsblatt arbeiten möchtest, anstatt eine UserForm zu verwenden.


Praktische Beispiele

Stellen wir uns vor, Du möchtest eine Excel VBA Textbox erstellen, die nur ganze Zahlen zwischen 1 und 100 zulässt. Der Code würde folgendermaßen aussehen:

Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If (KeyAscii < 48 Or KeyAscii > 57) Then
        KeyAscii = 0 ' nur Zahlen zulassen
    End If
End Sub

Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Val(Textbox1.Text) < 1 Or Val(Textbox1.Text) > 100 Then
        MsgBox "Bitte geben Sie eine Zahl zwischen 1 und 100 ein."
        Cancel = True ' zurück zur TextBox
    End If
End Sub

Dieses Beispiel zeigt, wie Du nicht nur Zahlen, sondern auch deren Werte einschränken kannst.


Tipps für Profis

  • Überlege, ob Du ein Zahlenformat für Deine Textbox verwenden möchtest. So kannst Du sicherstellen, dass die Darstellung der Zahlen einheitlich ist.
  • Nutze die KeyUp-Ereignisse, um noch spezifischere Eingaben zu kontrollieren, z.B. um Dezimalzahlen oder nur siebenstellige Zahlen zuzulassen.
Private Sub Textbox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If Len(Textbox1.Text) > 7 Then
        MsgBox "Bitte nur siebenstellige Zahlen eingeben."
        Textbox1.Text = Left(Textbox1.Text, 7) ' auf siebenstellen beschränken
    End If
End Sub

FAQ: Häufige Fragen

1. Frage
Kann ich in der Textbox auch Dezimalzahlen oder nur Zahlen mit Komma zulassen?
Antwort: Ja, dafür musst Du den Code anpassen und ASCII-Werte für das Komma (z.B. 44 für „,“) hinzufügen.

2. Frage
Wie kann ich den Code in einer bestehenden UserForm hinzufügen?
Antwort: Öffne die UserForm im VBA-Editor, wähle die TextBox aus und füge den Code wie oben beschrieben ein.

3. Frage
Gibt es eine Möglichkeit, Eingaben in einem bestimmten Format zu erzwingen?
Antwort: Ja, Du kannst das Zahlenformat in der TextBox mithilfe von VBA anpassen und auch Eingaben validieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige