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

Forumthread: textbox prüfen: Nur ganze Zahlen

textbox prüfen: Nur ganze Zahlen
29.08.2006 09:26:06
ray
Hallo,
ich möchte eine sicherstellen, daß in tbEuro nur Zahlen eingegeben werden, die kein Komma, keine Buchstabe, keine Sonderzeichen,kein Plus, kein Minuns usw. enthalten.
Hat jemand einen code für mich?
Viele Grüße aus dem herbstlichen HH, wo ich abends schon die Heizung anmachen muß...
Ray
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 10:02:02
Matthias
Hallo Rax,
z.B. so:

Private Sub tbEuro_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If Shift <> 0 Then KeyCode = 0: Exit Sub
Select Case KeyCode
Case 8, 9, 35 To 37, 46, 48 To 57
'ok
Case Else
KeyCode = 0
End Select
End Sub

Gruß Matthias
Anzeige
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 10:03:37
Peter
Hallo Ray,
das könnte so gehen:

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

Viele Grüße Peter, auch aus der verregneten HH
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 10:09:05
ray
Hallo und danke Ihr 2,
ich habe mich nicht ganz korrekt ausgedrückt. Wenn ich es richtig sehe, dann überwacht der Code den Input, oder?
Ich möchte aber die textbox erst später überprüfen. (Am Ende aller Eingaben.)
Grüße an meinen Nachbarn.
Ray
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 10:37:27
ray
so
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 10:45:54
Matthias
Hallo Ray,
so?

Function IstGanzzahl(s As String) As Boolean
If IsNumeric(s) And _
InStr(s, ",") = 0 And _
InStr(s, ".") = 0 And _
InStr(s, "-") = 0 Then
IstGanzzahl = True
Else
IstGanzzahl = False
End If
End Function

Gruß Matthias
Anzeige
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 11:26:38
ray
Also, Matthieas Version sieht einfacher aus.
Nur wie beziehe ich die Funkton jetzt auf meine Textbox ''tbNr'' ?
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 11:33:06
Matthias
Hallo Ray,
meine Version ist nur eine Funktion, die True oder False zurückgibt.
Einbauen musst du das ganze dann noch selbst:

If IstGanzzahl(tbNr) Then '...

Peters Version prüft die Textbox beim Verlassen und markiert bei Falscheingabe den eingegebenen Text, damit man diesen gleich überschreiben kann:

With Me.TextBox1
.SelStart = 0
.SelLength = Len(Me.TextBox1)
.SetFocus
End With

deshalb schaut es komplizierter aus. ;-)
Wenn du diesen Effekt haben willst, mustt du den Code aber auch verwenden.
Vielleicht willst du aber auch erst dann auf Gültigkeit prüfen, wenn du einen bestimmten Button drückst, keine Ahnung...
Gruß Matthias
Anzeige
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 11:57:08
ray
Vielen Dank. Es funzt perfekt. War mal wieder ne super Hilfe und ich konnte wieder etwas lernen.
Viele Grüße
Ray
AW: textbox prüfen: Nur ganze Zahlen
29.08.2006 10:46:39
Peter
Hallo Nachbar Ray,
du tust dir keinen großen Gefallen, erst später zu prüfen, ob du eine numerische Eingabe bekommen hast - aber sei es drum:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Then
MsgBox "bitte eine Zahl eingeben.", 64, "   Eingabe ist nicht numerisch."
Cancel = True
Me.TextBox1.SetFocus
With Me.TextBox1
.SelStart = 0
.SelLength = Len(Me.TextBox1)
.SetFocus
End With
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Textbox in Excel: Nur ganze Zahlen eingeben


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass in einer Textbox nur ganze Zahlen eingegeben werden, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues UserForm hinzu, indem du im Projektfenster mit der rechten Maustaste auf dein Projekt klickst und "UserForm einfügen" wählst.

  3. Platziere eine TextBox auf dem UserForm.

  4. Klicke mit der rechten Maustaste auf die TextBox und wähle "Code anzeigen".

  5. Füge den folgenden Code in das Codefenster ein, um nur ganze Zahlen zu erlauben:

    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
       Select Case KeyAscii
           Case 48 To 57  ' Ziffern 0-9
           Case Else
               KeyAscii = 0  ' Eingabe blockieren
       End Select
    End Sub
  6. Schließe den VBA-Editor und teste das UserForm.

Wenn du möchtest, dass die Eingabe erst nach dem Verlassen der TextBox überprüft wird, kannst du den folgenden Code verwenden:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If Not IsNumeric(TextBox1) Or InStr(TextBox1, ",") > 0 Or InStr(TextBox1, ".") > 0 Then
        MsgBox "Bitte nur ganze Zahlen eingeben.", vbExclamation, "Eingabefehler"
        Cancel = True
        TextBox1.SetFocus
    End If
End Sub

Häufige Fehler und Lösungen

  • Fehler: TextBox akzeptiert auch Buchstaben oder Sonderzeichen.

    • Lösung: Stelle sicher, dass du den Code aus der Schritt-für-Schritt-Anleitung korrekt implementiert hast.
  • Fehler: Eingabe wird nicht als ganze Zahl erkannt, wenn Kommas oder Punkte verwendet werden.

    • Lösung: Nutze die Funktion IsNumeric in Kombination mit einer Überprüfung auf Kommas und Punkte, wie im Beispiel oben gezeigt.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die Datenüberprüfung in Excel nutzen:

  1. Markiere die Zelle, in der nur ganze Zahlen erlaubt sein sollen.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle unter "Zulassen" die Option Ganze Zahl aus.
  4. Definiere die Bedingungen nach Bedarf (z.B. zwischen 1 und 100).

Diese Methode ist jedoch weniger flexibel und erlaubt keine Eingabeüberprüfung während der Eingabe.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Nutzung der Textbox:

  • Beispiel 1: Eine TextBox für die Eingabe von Euro-Beträgen, in der nur ganze Zahlen erlaubt sind.

  • Beispiel 2: Eine Umfrage, in der die Teilnehmer ihre Anzahl an Stimmen (ganzzahlig) abgeben können.

Für beide Beispiele kannst du den VBA-Code, den wir oben besprochen haben, verwenden.


Tipps für Profis

  • Erweiterung der Funktionalität: Du kannst die Eingabe in der TextBox auch formatieren, indem du die Eingabewerte während der Eingabe visualisierst oder bestimmte Eingaben automatisch konvertierst.

  • Fehlermeldungen anpassen: Gestalte die Fehlermeldungen ansprechender, um eine bessere Benutzererfahrung zu bieten.

  • Verwendung von Funktionen: Nutze benutzerdefinierte Funktionen in VBA, um komplexere Validierungen durchzuführen, wie z.B. das Überprüfen von Eingabebereichen oder das Zulassen spezifischer Werte.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur ganze Zahlen in meiner Excel-Tabelle eingegeben werden?
Du kannst dies durch die Verwendung von VBA in Kombination mit der Datenüberprüfung erreichen. Der VBA-Code ermöglicht dir eine präzisere Kontrolle über die Eingaben.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der gezeigte VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren. Es wird jedoch empfohlen, die Funktionalität in deiner spezifischen Version zu testen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige