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

Forumthread: Event bei Klick auf Userform

Event bei Klick auf Userform
02.11.2015 11:11:55
Frank
Hallo,
ich habe eine Userform mit zwei Labels, die ich verwende, um bei bestimmten Aktionen einen Hinweis anzuzeigen.
Nun suche ich einen Weg, den Text dieser Labels zu löschen, wenn irgendwo auf die Userform geklickt wird, egal, ob direkt auf die Userform oder auf ein Control-Element (Button, Combobox, Scrollbar etc.) dort.
Ich habe es mit folgendem Code in der Userform probiert, das funktioniert aber leider nicht.
Kann mir jemand weiterhelfen ?
Mein Code:
Private Sub UserForm_Click()
Me.LblMessage1.Caption = ""
Me.LblMessage2.Caption = ""
End Sub
Vielen Dank im Voraus,
Frank

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Event bei Klick auf Userform
02.11.2015 12:22:05
Rusi
Hallo,
dann musst du das für jedes Element so programmieren.
Gruß
Rudi

AW: Event bei Klick auf Userform
02.11.2015 12:53:14
Frank
Hallo Rudi,
danke für Deine Antwort.
Heisst das, wenn ich z.B. 5 Buttons und 5 Comboboxen in der Userform habe, dass ich bei dem Click / Change Event von jedem einzelnen davon die zwei Zeilen von oben ergänzen muss ?
Das ist der einzige Weg ?
Gruß,
Frank

Anzeige
AW: Event bei Klick auf Userform
02.11.2015 12:56:38
Rudi
Hallo,
Das ist der einzige Weg ?
ich kenne keinen anderen.
Gruß
Rudi

AW: Event bei Klick auf Userform
02.11.2015 13:18:25
Daniel
Hi
ja, denn normalerweise will man ja, dass wenn man auf einen Button klickt, auch nur die Aktion des Buttons ausgeführt wird und keine andere.
Gruß Daniel
;
Anzeige
Anzeige

Infobox / Tutorial

Events in Excel VBA Userforms richtig nutzen


Schritt-für-Schritt-Anleitung

Um den Text von Labels in einer Userform zu löschen, wenn auf die Userform oder ihre Steuerelemente geklickt wird, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle eine Userform: Füge eine Userform hinzu, wenn du noch keine hast.

  3. Füge Labels und Steuerelemente hinzu: Platziere zwei Labels sowie einige Buttons und Comboboxen auf der Userform.

  4. Code für Userform hinzufügen: Füge den folgenden VBA-Code in das Codefenster der Userform ein:

    Private Sub UserForm_Click()
       Me.LblMessage1.Caption = ""
       Me.LblMessage2.Caption = ""
    End Sub
    
    Private Sub CommandButton1_Click()
       ' Beispiel für einen Button-Click
       Me.LblMessage1.Caption = "Button 1 wurde geklickt"
       Me.LblMessage2.Caption = ""
    End Sub
    
    Private Sub ComboBox1_Click()
       ' Beispiel für einen Combobox-Click
       Me.LblMessage2.Caption = "Combobox wurde verwendet"
       Me.LblMessage1.Caption = ""
    End Sub
  5. Event-Handling für Steuerelemente hinzufügen: Du kannst den oben genannten Code für jedes Steuerelement (Button, Combobox) wiederholen, um die Labels entsprechend zurückzusetzen.


Häufige Fehler und Lösungen

  • Fehler: Labels werden nicht gelöscht
    Lösung: Stelle sicher, dass der Code im richtigen Bereich der Userform platziert ist. Der UserForm_Click-Event wird nur ausgelöst, wenn auf die Userform selbst geklickt wird, nicht auf die Steuerelemente.

  • Fehler: Keine Aktion beim Button-Klick
    Lösung: Überprüfe, ob der Button ordnungsgemäß verknüpft ist und dass du den CommandButton_Click-Event korrekt implementiert hast.


Alternative Methoden

Eine alternative Methode ist die Verwendung von VBA Userform Events, um die Interaktion flexibler zu gestalten. Statt für jedes Steuerelement einen eigenen Click-Event-Handler zu schreiben, kannst du eine allgemeine Subroutine erstellen, die alle Steuerelemente anspricht:

Private Sub ClearLabels()
    Me.LblMessage1.Caption = ""
    Me.LblMessage2.Caption = ""
End Sub

Private Sub CommandButton1_Click()
    ClearLabels
    ' Weitere Aktionen
End Sub

Private Sub ComboBox1_Click()
    ClearLabels
    ' Weitere Aktionen
End Sub

Diese Methode reduziert den Code und erhöht die Wartbarkeit deiner Userform.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du die oben genannten Methoden in deiner Userform umsetzen kannst:

  • Userform mit 2 Labels, 2 Buttons und einer Combobox: Du hast zwei Labels, die Hinweise anzeigen. Jedes Mal, wenn du einen Button klickst oder die Combobox verwendest, wird der Text der Labels gelöscht und durch neue Nachrichten ersetzt.

Tipps für Profis

  • Verwende With-Anweisungen: Um die Lesbarkeit deines Codes zu erhöhen, kannst du With-Anweisungen verwenden, wenn du mehrere Eigenschaften eines Objekts ansprechen möchtest:
With Me
    .LblMessage1.Caption = "Nachricht 1"
    .LblMessage2.Caption = "Nachricht 2"
End With
  • Nutze die MouseDown-Events: Wenn du mehr Kontrolle über die Benutzerinteraktion benötigst, solltest du die MouseDown-Events der Steuerelemente in Betracht ziehen, um spezifische Aktionen auszulösen.

FAQ: Häufige Fragen

1. Muss ich für jedes Steuerelement einen eigenen Click-Event erstellen?
Ja, das ist die Standardmethode, um sicherzustellen, dass die gewünschten Aktionen für jedes Steuerelement korrekt ausgeführt werden. Du kannst jedoch auch eine zentrale Funktion nutzen, wie im Abschnitt „Alternative Methoden“ beschrieben.

2. Wie kann ich sicherstellen, dass der Text in den Labels sofort gelöscht wird?
Indem du den UserForm_Click-Event sowie die Click-Events der einzelnen Steuerelemente verwendest, wird der Text in den Labels sofort gelöscht, sobald eine Interaktion stattfindet.

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