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

Forumthread: negative zahlen textbox

negative zahlen textbox
08.04.2008 14:47:40
Gabi
hallo leute
mit folgendem sub unterbinde ich das der anwender etwas anderes außer zahlen in die textbox einer userform eintragen kann

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


leider sind somit auch keine negativen zahlen möglich die aber auch mit aufgenommen werden müssen. weiß jemand rat?
by gabi

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Case 48 To 57, 44, 45 (owT)
08.04.2008 14:57:27
Renee

AW: negative zahlen textbox
08.04.2008 15:02:00
Tino
Hallo,
war zuerst im falschen Beitrag, hier eine andere Variante.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("1234567890-," & Chr$(8), Chr$(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub


Anzeige
AW: negative zahlen textbox
08.04.2008 15:43:00
Gabi
vielen dank aber jetzt hab ich doch noch ne einfachere Methode entdeckt
...ich ergänze einfach ne 45 die bei Ascii für - steht
manchmal is es wirklich verhext!
by gabi
;
Anzeige

Infobox / Tutorial

Eingabe negativer Zahlen in eine Excel-Textbox


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass Benutzer in einer Excel-Textbox negative Zahlen eingeben können, musst Du den Code der UserForm anpassen. Hier sind die Schritte, die Du befolgen solltest:

  1. Öffne die Excel-Datei und gehe in den VBA-Editor (Alt + F11).
  2. Suche die UserForm, in der sich die Textbox befindet.
  3. Wähle die TextBox aus, für die Du die Eingabe einschränken möchtest.
  4. Füge den folgenden Code in das Codefenster der TextBox ein:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890-," & Chr$(8), Chr$(KeyAscii)) = 0 Then
        KeyAscii = 0
    End If
End Sub
  1. Dieser Code erlaubt es, positive und negative Zahlen sowie das Komma einzugeben. Das Zeichen - wird durch den ASCII-Code 45 repräsentiert und ist somit erlaubt.

Häufige Fehler und Lösungen

  • Fehler: Benutzer können keine negativen Zahlen eingeben.

    • Lösung: Stelle sicher, dass der Code das Zeichen - (ASCII 45) zulässt, wie im obigen Beispiel.
  • Fehler: Die TextBox akzeptiert unerwünschte Zeichen.

    • Lösung: Überprüfe, ob der Code korrekt ist. Achte darauf, dass nur die gewünschten Zeichen im InStr-Befehl aufgelistet sind.

Alternative Methoden

Eine andere Möglichkeit, die Eingabe auf Zahlen zu beschränken, ist die Verwendung von Datenvalidierung in Excel selbst. Hier ist, wie Du das tun kannst:

  1. Wähle die Zelle aus, die Du validieren möchtest.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle Zahl und definiere die gewünschten Bedingungen (z. B. Ganzzahlen, größer als oder gleich -999).

Diese Methode ist einfacher, erfordert jedoch keinen VBA-Code.


Praktische Beispiele

Wenn Du eine UserForm mit einer TextBox für die Eingabe von negativen Zahlen erstellst, könnte das so aussehen:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890-," & Chr$(8), Chr$(KeyAscii)) = 0 Then
        KeyAscii = 0
    End If
End Sub

Hier erlaubt die TextBox die Eingabe von Zahlen, dem Minuszeichen und Kommas. Du kannst die TextBox auch so gestalten, dass sie die Eingabe automatisch formatiert, wenn der Benutzer die Zahl eingibt.


Tipps für Profis

  • Verwende Chr$(8): Dieser Befehl erlaubt es dem Benutzer, die Rücktaste zu verwenden, um Eingaben zu löschen.
  • Testen: Teste die UserForm gründlich, um sicherzustellen, dass alle gewünschten Eingaben korrekt verarbeitet werden.
  • Fehlerbehandlung: Erwäge, eine Fehlerbehandlung hinzuzufügen, um den Benutzern hilfreiche Fehlermeldungen anzuzeigen, wenn sie ungültige Eingaben machen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur ganze negative Zahlen eingegeben werden?
Du kannst den Code so anpassen, dass er nur ganze Zahlen zulässt, indem Du die Eingabe entsprechend überprüfst.

2. Funktioniert das auch in Excel 365?
Ja, der VBA-Code ist mit Excel 365 kompatibel, solange Du die UserForms korrekt einrichtest.

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