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

Forumthread: UserForm-CommandButton aus VBA-Modul starten

UserForm-CommandButton aus VBA-Modul starten
Martin
Hallo,
ich verwende eine UserForm mit der Eigenschaft ShowModal=False, so dass ich trotz geöffneter UserForm weiterhin in der Excel-Tabelle arbeiten kann.
Besteht die Möglichkeit, dass ich über ein Makro eine VBA-Modules von der UserForm "CommandButton1_Click" auslösen kann?
Für Antworten wäre ich - wie immer - sehr dankbar!
Viele Grüße
Martin
Anzeige
AW: UserForm-CommandButton aus VBA-Modul starten
09.01.2010 15:55:06
Tino
Hallo,
Private Sub CommandButton1_Click()
Call Namen_von_meinem_Makro
End Sub

Ich denke aber bei VBA gut, das ich dich nicht richtig verstanden habe.
Gruß Tino
ich denke jetzt weis ich was Du meinst...
09.01.2010 16:24:27
Tino
Hallo,
mach bei Private Sub CommandButton1_Click() das Private weg.
Danach müsste es funktionieren dies mit Call UserForm1.CommandButton1_Click aufzurufen.
Gruß Tino
Anzeige
AW: ich denke jetzt weis ich was Du meinst...
09.01.2010 16:31:00
Nepumuk
Hallo,
oder einfacher so: UserForm1.CommandButton1 = True
Gruß
Nepumuk
haha genau, musste nur eben laut lachen oT.
09.01.2010 16:39:29
Tino
Super, vielen Dank für die Lösung! Es klappt!
09.01.2010 16:51:55
Martin
s.o.
Anzeige
..Nachfrage CB_Click..
09.01.2010 16:31:27
robert
hi Tino,
wenn ich das Click ereignis mit call aufrufen will, dann brauch ich doch auch keinen
CommandButton-oder?
gruß
robert
ich weis nicht für was er es braucht. oT.
09.01.2010 16:41:18
Tino
er hat es uns auch nicht verraten ;-) oT
09.01.2010 17:11:30
robert
Anzeige
doch, hat er...
09.01.2010 18:12:44
Martin
Hallo,
ich werte eine externe Log-Textdatei aus, in der Startnummer mit Zeiten (per Transponder erfasst) gesucht werden sollen. Zum eimen möchte ich per Texteingabe direkt in UserForm suchen können, zum anderen aber auch einfach über ein Klick im Kontextmenü die Startnummer an die UserForm übergeben und das Log-File durchsuchen.
Also, vielen Dank noch einmal. Hier ein Screenshot:
Userbild
Anzeige
Danke..schaut gut aus ! ;-) owT
09.01.2010 18:38:48
robert
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

UserForm-CommandButton aus VBA-Modul starten


Schritt-für-Schritt-Anleitung

  1. Öffne das VBA-Editor-Fenster in Excel, indem Du ALT + F11 drückst.

  2. Füge eine UserForm hinzu, falls Du noch keine hast. Rechtsklicke im Projekt-Explorer auf dein Projekt, wähle Insert und dann UserForm.

  3. Füge einen CommandButton hinzu. Klicke auf das CommandButton-Steuerelement in der Toolbox und ziehe es auf die UserForm.

  4. Doppelklicke auf den CommandButton, um das Codefenster zu öffnen.

  5. Füge den folgenden Code ein:

    Private Sub CommandButton1_Click()
       Call Namen_von_meinem_Makro
    End Sub

    Ersetze Namen_von_meinem_Makro mit dem Namen des Makros, das Du aufrufen möchtest.

  6. Um das Click-Ereignis aus einem anderen Modul zu starten, kannst Du diesen Code verwenden:

    Sub StartUserForm()
       UserForm1.Show
       UserForm1.CommandButton1_Click
    End Sub

Häufige Fehler und Lösungen

  • Fehler: "Sub oder Funktion nicht gefunden"

    • Überprüfe, ob der Name des aufgerufenen Makros korrekt ist und sich im gleichen Modul befindet.
  • Fehler: UserForm bleibt im Hintergrund

    • Stelle sicher, dass die UserForm die Eigenschaft ShowModal auf False hat, damit Du weiterhin mit Excel arbeiten kannst.

Alternative Methoden

Falls Du die Verwendung von Makros vermeiden möchtest, kannst Du auch einfach den CommandButton direkt aktivieren, indem Du folgende Zeile in das andere VBA-Modul einfügst:

UserForm1.CommandButton1.Value = True

Diese Methode simuliert einen Klick auf den CommandButton.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du eine UserForm mit einem CommandButton erstellen kannst, der eine Nachricht anzeigt:

  1. Füge einen CommandButton zur UserForm hinzu.

  2. Verwende den folgenden Code:

    Private Sub CommandButton1_Click()
       MsgBox "Hallo, dies ist eine Nachricht!"
    End Sub
  3. Starte die UserForm mit:

    Sub ShowUserForm()
       UserForm1.Show
    End Sub

Tipps für Profis

  • Verwende Call nur wenn nötig: In den meisten Fällen kannst Du die Subroutine auch ohne Call aufrufen.

  • Benutze Private Sub CommandButton1_Click() nur, wenn Du den CommandButton ansprechen möchtest. Möchtest Du die Funktion aus einem anderen Modul aufrufen, entferne das Private.

  • Nutze Debug.Print innerhalb Deiner Subroutinen, um den Status von Variablen oder den Ablauf Deines Codes zu testen.


FAQ: Häufige Fragen

1. Wie kann ich einen CommandButton in einer UserForm aus einem anderen Modul aufrufen? Du kannst den CommandButton mit UserForm1.CommandButton1_Click aufrufen.

2. Was muss ich tun, wenn die UserForm nicht angezeigt wird? Stelle sicher, dass Du UserForm1.Show verwendest, um die UserForm sichtbar zu machen. Überprüfe auch die ShowModal-Eigenschaft.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige