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

Forumthread: Textbox-Eingabe in Userform

Textbox-Eingabe in Userform
Sebastian
Hallo liebe Experten,
ich brauche mal wieder eure Hilfe und wäre dankbar für Tips und Feedback zu folgendem Problem:
Ich habe eine Textbox in einer VBA Userform als Eingabemaske für Zahlenwerte. Ich möchte nun, dass diese Textbox es mir ermöglicht, einfache Rechenoperationen durchzuführen (nur +, - , * und /). Beispiel: Wenn ich in die Textbox "=20+15+80" eingebe, soll beim Verlassen der Textbox 115 drin stehen. Wenn ich "=3*4" eingebe soll 12 drin stehen.
Was gibt es hier für Lösungsansätze? Muss ich den Eingabe-String einlesen, in die einzelnen Komponenten auseinander nehmen und dann die Rechnung in VBA machen oder gibt es etwas einfacheres?
Herzlichen Dank im Voraus und beste Grüße!
Sebastian
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Textbox-Eingabe in Userform
11.11.2010 11:09:16
Rudi
Hallo,
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Evaluate(Replace(TextBox1.Text, ",", "."))
End Sub

Gruß
Rudi
AW: Textbox-Eingabe in Userform
11.11.2010 11:39:34
Sebastian
Hey wow!
Genauso geht's. Perfekte Lösung für mein Problem!
Vielen Dank!
AW: Textbox-Eingabe in Userform
11.11.2010 11:11:37
Hajo_Zi
Hallo Sebastian,
Option Explicit
Private Sub TextBox1_AfterUpdate()
If TextBox1  "" Then
TextBox1 = Application.Evaluate("=" & TextBox1)
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Textbox-Eingabe in einer VBA Userform


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe in den VBA-Editor (Alt + F11).
  2. Erstelle eine Userform:
    • Klicke auf „Einfügen“ und wähle „UserForm“.
  3. Füge eine TextBox hinzu:
    • Ziehe eine TextBox auf die Userform.
  4. Füge den folgenden VBA-Code ein:
    Private Sub TextBox1_AfterUpdate()
       If TextBox1 <> "" Then
           TextBox1 = Application.Evaluate("=" & TextBox1)
       End If
    End Sub
    • Dieser Code sorgt dafür, dass beim Verlassen der TextBox die eingegebene Rechnung automatisch ausgewertet wird.
  5. Teste die Userform:
    • Starte die Userform, gib eine Rechnung wie =20+15+80 ein und verlasse die TextBox.

Häufige Fehler und Lösungen

  • Fehlermeldung beim Ausführen der Berechnung:

    • Stelle sicher, dass du die Eingabe mit einem Gleichheitszeichen (=) beginnst.
  • Die TextBox zeigt nicht das erwartete Ergebnis an:

    • Überprüfe, ob im Code das richtige TextBox-Steuerelement angesprochen wird. Vergewissere dich, dass der Name der TextBox korrekt ist.

Alternative Methoden

  • Verwendung von Evaluate:

    • Du kannst auch den folgenden Code nutzen, um die Eingabe zu evaluieren:
      Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
      TextBox1 = Evaluate(Replace(TextBox1.Text, ",", "."))
      End Sub
  • InputBox als Alternative:

    • Wenn du statt einer Userform lieber eine InputBox verwenden möchtest, kannst du dies ebenso tun:
      Dim userInput As String
      userInput = InputBox("Gib deine Rechnung ein:")
      MsgBox Evaluate("=" & userInput)

Praktische Beispiele

  1. Einfaches Addieren:

    • Eingabe: =5+10
    • Ergebnis: 15
  2. Multiplikation:

    • Eingabe: =3*4
    • Ergebnis: 12
  3. Kombinierte Berechnung:

    • Eingabe: =20-5+10*2
    • Ergebnis: 35

Die Nutzung einer excel userform textbox für Berechnungen kann sehr wirkungsvoll sein, um die Benutzereingabe zu steuern.


Tipps für Profis

  • Validierung der Eingabe:

    • Implementiere eine Eingabewarteschleife, um sicherzustellen, dass nur gültige mathematische Ausdrücke eingegeben werden.
  • Erweiterung der Funktionalität:

    • Überlege, komplexere Funktionen wie Wurzel oder Potenzen einzuführen, indem du die Eingabe vorher analysierst.
  • Ästhetik verbessern:

    • Gestalte die Userform ansprechend, um die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur Zahlen eingegeben werden?
Du kannst den Text in der TextBox während der Eingabe validieren, indem du das KeyPress-Ereignis der TextBox verwendest.

2. Funktioniert dies in allen Excel-Versionen?
Ja, die vorgestellten Methoden sind in allen gängigen Excel-Versionen nutzbar, 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