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

Forumthread: In Userform Label bei Eingabe ändern

In Userform Label bei Eingabe ändern
07.09.2019 15:31:32
Alfred
Hallo,
ich habe ein - vielleicht gar nicht so großes - Problem. Zum besseren Verständnis hänge ich ein Beispiel an.
Ich möchte gerne in einem Label (Label5) Werte automatisch bei Eingabe berechnet haben.
Label5.Caption = WorksheetFunction.RoundDown((6 - (5 * ((TextBox4.Value) / (Label4.Caption)))), 1)
Label5 wird geändert, wenn in den Textboxen etwas geändert wird. Das klappt.
Label5 soll sich aber auch berechnet werden, wenn in ComboBox1 ein Wert ausgewählt wird. Das bekomme ich nicht hin.
Vielleicht hat jemand eine Idee und rettet mir das Wochenende.
Danke!
Gruß, Alfred
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Userform Label bei Eingabe ändern
07.09.2019 15:35:49
Hajo_Zi
Hallo Alfred,
ich konnte den Anhamng nicht sehen.
Benutze das Click Ereignis.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: In Userform Label bei Eingabe ändern
07.09.2019 16:05:18
Alfred
Hallo Hajo,
danke für Deine schnelle Antwort.
Das Hochladen hat nicht geklappt, deshalb versuche ich es noch einmal.
https://www.herber.de/bbs/user/131903.xlsm
Ich möchte gerne das Click-Ereignis vermeiden. Es wäre schön, wenn es dafür eine Lösung gäbe.
Gruß,
Alfred
Anzeige
AW: In Userform Label bei Eingabe ändern
07.09.2019 16:15:34
Hajo_Zi
Hallo Alfred,
Gut die Lösung die geht und meiner Meinung nach die einzige ist möchtest Du nicht benutzen.
Ich bin dann raus.
Viel Erfolg noch.
Gruß Hajo
AW: In Userform Label bei Eingabe ändern
07.09.2019 16:36:59
Alfred
Hallo Hajo,
danke für Deine Hilfe.
Da ich in VBA nicht so fit bin, dachte ich mir, es gibt da bestimmt was. Vielleicht finde ich ja eine ganz andere Lösung.
Du hast mir trotzdem weitergeholfen. Herzlichen Dank.
Gruß, Alfred
Anzeige
AW: In Userform Label bei Eingabe ändern
07.09.2019 16:45:08
Piet
Hallo Alfred
wenn man sich das Beispiel anschaut und den Code versteht findet man auch eine Lösung. - s. unten
In allen Textboxen solltest du den Fehler abfangen wenn die ComboBox1 noch KEINEN Wert hat. ıch lief in eine Fehlermeldung.
Wie gefaellt dir meine Lösung?
mfg Piet
Private Sub Textbox1_Change()
Textbox4_rechnen
If ComboBox1.ListIndex 

Anzeige
AW: In Userform Label bei Eingabe ändern
07.09.2019 17:13:43
Alfred
Hallo Piet,
Deine Lösung gefällt mir sehr gut. In der Beispieldatei funktioniert sie super.
Jetzt baue ich Deine Lösung in meine größere Datei ein.
Danke für Deine Hilfe. Jetzt geht es mir deutlich besser.
Gruß,
Alfred
AW: Danke für die Rückmeldung, freut mich oWt
07.09.2019 22:06:53
Piet
...
Anzeige
Anzeige

Infobox / Tutorial

In Userform Label bei Eingabe ändern


Schritt-für-Schritt-Anleitung

Um ein Label in einer Userform bei Eingabe zu ändern, kannst du folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass das Label (zum Beispiel Label5) sich automatisch aktualisiert, wenn in bestimmten Textboxen oder einer ComboBox ein Wert eingegeben oder ausgewählt wird.

  1. Öffne den VBA-Editor in Excel (ALT + F11).
  2. Füge in das entsprechende Userform-Modul den folgenden Code ein:
Private Sub TextBox1_Change()
    Call UpdateLabel
End Sub

Private Sub TextBox4_Change()
    Call UpdateLabel
End Sub

Private Sub ComboBox1_Change()
    Call UpdateLabel
End Sub

Private Sub UpdateLabel()
    If ComboBox1.ListIndex <> -1 Then ' Überprüfe, ob ein Wert ausgewählt wurde
        Label5.Caption = WorksheetFunction.RoundDown((6 - (5 * (TextBox4.Value / Label4.Caption))), 1)
    End If
End Sub

Dieser Code sorgt dafür, dass Label5 aktualisiert wird, wenn TextBox1, TextBox4 oder ComboBox1 geändert werden. Achte darauf, dass ComboBox1 einen ausgewählten Index hat, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

  1. Fehlermeldung bei leerer ComboBox
    Wenn keine Auswahl in der ComboBox getroffen wurde, kann der Code zu einer Fehlermeldung führen. Stelle sicher, dass du den Index der ComboBox überprüfst, bevor du den Wert benutzt.

    Lösung: Füge eine Bedingung hinzu, um sicherzustellen, dass ein Wert ausgewählt ist, wie im obigen Beispiel gezeigt.

  2. Label wird nicht aktualisiert
    Wenn das Label nicht aktualisiert wird, könnte das an einem fehlenden Event-Handler liegen.

    Lösung: Überprüfe, ob du die richtigen Events (Change) in deinem Code verwendest.


Alternative Methoden

Falls du eine andere Methode zur Aktualisierung des Labels bevorzugst, kannst du auch das AfterUpdate-Ereignis der ComboBox verwenden. Hier ist ein Beispiel:

Private Sub ComboBox1_AfterUpdate()
    Label5.Caption = WorksheetFunction.RoundDown((6 - (5 * (TextBox4.Value / Label4.Caption))), 1)
End Sub

Diese Methode könnte nützlich sein, wenn du die Berechnung nur nach einer Auswahl in der ComboBox durchführen möchtest.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Verwendung eines vba userform label. Angenommen, du hast ein Userform mit zwei TextBoxen und einer ComboBox. Du möchtest, dass das Label den berechneten Wert anzeigt:

  • TextBox1: Eingabe eines Wertes
  • TextBox4: Eingabe eines anderen Wertes
  • ComboBox1: Auswahl eines Wertes (z.B. Optionen A, B, C)

Das Label wird automatisch aktualisiert, wenn du einen Wert in den TextBoxen eingibst oder eine Auswahl in der ComboBox triffst.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler durch nicht deklarierte Variablen zu vermeiden.
  • Debugging: Nutze die Debug.Print-Anweisung, um Werte während der Ausführung zu überprüfen.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Fehler abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Wert in Label5 immer aktuell ist?
Verwende das Change-Ereignis für alle relevanten Eingabeelemente, um das Label bei jeder Änderung zu aktualisieren.

2. Was ist der Unterschied zwischen Change und AfterUpdate?
Change wird ausgelöst, wenn der Benutzer den Inhalt ändert, während AfterUpdate erst nach dem Verlassen des Feldes und der Bestätigung der Eingabe ausgelöst wird.

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