Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

in Textfelder nur Zahlen Eingabe möglich?

Forumthread: in Textfelder nur Zahlen Eingabe möglich?

in Textfelder nur Zahlen Eingabe möglich?
11.09.2002 14:23:45
Andi
Hallo

Ich habe ein Textfeld auf einer UserForm.
Ich möchte aber, dass man in diesem Textfeld nur Zahlen erfassen kann, kein Text. Weiter soll das Textfeld ein Zahlenformat aufweisen (z.B. 2 Nachkommastellen, mit Tausenderzeichen).

Ist das überhaupt möglich????

Gruss Andi

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: in Textfelder nur Zahlen Eingabe möglich?
11.09.2002 14:55:22
Marc
Hi Andi,
dass man nur Zahlen erfassen kann würde ich folgendermaßen lösen:

In die Prozedur Textbox1_change()
If IsNumeric(Textbox1.Text) then Textbox1.text = ""

(oder so ähnlich einfügen, mit dem Zahlenformat wüsste ich jetzt auf die schnelle auch nichts...
Gruß, Marc

Anzeige
Re: in Textfelder nur Zahlen Eingabe möglich?
11.09.2002 14:59:22
andi
okay, vielen dank.
;
Anzeige

Infobox / Tutorial

Nur Zahlen in Textfeldern der UserForm zulassen


Schritt-für-Schritt-Anleitung

Um in einem Textfeld auf einer UserForm in Excel nur die Eingabe von Zahlen zuzulassen, folge diesen Schritten:

  1. Öffne die Excel-Anwendung und gehe in den VBA-Editor (Alt + F11).

  2. Füge eine UserForm hinzu, falls du noch keine hast.

  3. Füge ein Textfeld (Textbox) auf die UserForm ein.

  4. Klicke mit der rechten Maustaste auf die UserForm und wähle „Code anzeigen“.

  5. Füge den folgenden Code in die Textbox1_Change-Prozedur ein:

    Private Sub TextBox1_Change()
       If Not IsNumeric(TextBox1.Text) Then
           TextBox1.Text = ""
       End If
    End Sub
  6. Um das Zahlenformat mit zwei Nachkommastellen und Tausenderzeichen darzustellen, kannst du den folgenden Code in die Textbox1_Exit-Prozedur einfügen:

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       If IsNumeric(TextBox1.Text) Then
           TextBox1.Text = Format(TextBox1.Text, "#,##0.00")
       End If
    End Sub
  7. Schließe den VBA-Editor und teste deine UserForm.


Häufige Fehler und Lösungen

  • Problem: Text wird trotzdem eingegeben.
    Lösung: Stelle sicher, dass der Code in der Textbox1_Change-Prozedur korrekt eingefügt wurde. Überprüfe auch, ob die TextBox den richtigen Namen hat.

  • Problem: Nach dem Verlassen der TextBox wird das Format nicht angewendet.
    Lösung: Vergewissere dich, dass der Code in der Textbox1_Exit-Prozedur vorhanden ist und richtig funktioniert.


Alternative Methoden

Eine alternative Methode zur Validierung von Zahlen in Textfeldern ist die Verwendung von Eingabemasken. Hierbei kannst du eine Eingabemaske definieren, die nur bestimmte Zeichen zulässt. Diese Methode ist jedoch komplexer und erfordert zusätzliche Programmierung.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie man sicherstellt, dass nur Zahlen mit zwei Dezimalstellen und Tausendertrennzeichen eingegeben werden:

  1. Erstelle eine UserForm mit einem Textfeld.
  2. Wende den oben genannten Code an.
  3. Teste die Eingabe, indem du verschiedene Werte eingibst, z.B. 1234.56 oder 12.345,67 (je nach regionalen Einstellungen).

Tipps für Profis

  • Verwende die KeyPress-Ereignisprozedur, um die Eingabe während des Tippens zu validieren. Das verhindert, dass der Benutzer ungültige Zeichen eingeben kann:

    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
       If Not (KeyAscii >= 48 And KeyAscii <= 57) And KeyAscii <> vbKeyBack Then
           KeyAscii = 0
       End If
    End Sub
  • Denke daran, die Regionseinstellungen deines Systems zu berücksichtigen, da dies das Zahlenformat beeinflussen kann.


FAQ: Häufige Fragen

1. Kann ich auch negative Zahlen zulassen?
Ja, du kannst den Code anpassen, um das Minuszeichen zu akzeptieren. Füge eine Bedingung hinzu, die das Minuszeichen erlaubt.

2. Was ist, wenn ich ganze Zahlen ohne Dezimalstellen möchte?
Entferne einfach die Formatierung für die Dezimalstellen aus dem Code, sodass nur ganze Zahlen akzeptiert werden.

3. Funktioniert das in Excel 2016 und anderen Versionen?
Ja, dieser Code funktioniert in Excel 2016 sowie in anderen Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige