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

Start von Userform und Commandbutton

Forumthread: Start von Userform und Commandbutton

Start von Userform und Commandbutton
13.02.2017 06:18:03
Peter

Guten Morgen Ihr Excelspezialisten,
ich habe eine Userform1a, welche bei Start bestimmte Datumswerte aus der Tabelle ladet und miteinander vergleicht. Wenn das Datum x nach dem aktuellen Datum ist dann kann ein bestimmter Button ausgeführt werden.
Nun möchte ich diese Userform und den CommandButton aus einem Makro heraus starten.
Ich starte aus dem Makro mit UserForm1a.Show. Wenn dies alleine durchgeführt wird wird die Userform richtig gestartet. Wenn ich aber eingebe UserForm1a.CommandButton6=True, dann wird die Userform nicht vollständig geladen und somit nicht ausgeführt.
Wo liegt bitte der Fehler. Könnt Ihr mir bitte helfen.
Gruss
Peter

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Start von Userform und Commandbutton
13.02.2017 07:43:23
harry
Hallo Peter,
den Button kannst Du nicht auf true setzen.
Du kannst seine Eigenschaft "enabled" auf true setzten
Userform1a.CommandButton6.endabled = true
Grüße
harry
AW: Start von Userform und Commandbutton
13.02.2017 08:04:19
Peter
Hallo Harry,
ich glaube Du hast nicht verstanden was ich machen will.
Ich möchte die Userform öffen und nach dem Öffnen den Commandbutton dieser UF ausführen.
Und das ganze über ein gesondertes Makro.
Gruss
Peter
Anzeige
AW: Start von Userform und Commandbutton
13.02.2017 08:14:38
harry
Hallo Peter,
ach so, dann lager doch den Code hinter dem Button in eine extra SUB aus und führe diese beim Öffnen deiner Userform aus.
Grüße
harry
AW: Eine Möglichkeit wäre ...
13.02.2017 08:20:27
Dieter(Drummer)
Hallo Peter,
... z.B. dieses Makro in ein Modul und von wo du es auch immer aufrufen möchtest:
Sub Makro1()
UserForm1.CommandButton6 = True
End Sub

So wird Userform1 aufgerufen und das was mit dem Commandbutton aufgreufen wird, direkt ausgeführt.
Gruß, Dieter(Drummer)
Anzeige
AW: Eine Möglichkeit wäre ...
13.02.2017 08:37:24
Peter
Hallo Dieter,
wenn ich die UF öffne mit dem Befehl UserForm1a.Show und Call Makro1 dann ergibt sich folgendes Problem:
Ein Prüfabfrage kann nicht ausgeführt werden, sich die Userform nicht füllt.
Bei If TextBox4.Value... bleibt es stehen.
Kann es sein, dass dieses Problem daran liegt, dass die abzufragenden TextBoxes nicht durch Userform_initialize sondern über userform_activate geladen werden?
Gruss
Peter
Anzeige
AW: Eine Möglichkeit wäre ...
13.02.2017 08:49:26
Dieter(Drummer)
Hallo Peter,
da kann ich leider nicht weiter helfen.
Gruß, Dieter(Drummer)
AW: Eine Möglichkeit wäre ...
13.02.2017 08:49:29
Peter
Hallo Dieter,
besten Dank für Deine Hilfe.
Habe den Fehler gefunden. Das Füllen der TextBoxes erfolgte über Userform_activate statt Userform_initialize. Habe dies geändert jetzt gehts.
Besten Dank für Deine Hilfe und noch einen schönen Tag.
Gruss
Peter
Anzeige
AW: Start von Userform und Commandbutton
13.02.2017 08:27:30
hary
Moin
Nimm das UserForm_Initialize Ereignis.
Bsp.:
Private Sub UserForm_Initialize()
CommandButton6_Click '--ruft das Clickereignis auf
End Sub
Private Sub CommandButton6_Click()
MsgBox "hallo" '--zum testen
End Sub

gruss hary
AW: Start von Userform und Commandbutton
13.02.2017 08:38:50
Peter
Hallo Harry,
wenn ich die UF öffne mit dem Befehl UserForm1a.Show und Call Makro1 dann ergibt sich folgendes Problem:
Ein Prüfabfrage kann nicht ausgeführt werden, sich die Userform nicht füllt.
Bei If TextBox4.Value... bleibt es stehen.
Kann es sein, dass dieses Problem daran liegt, dass die abzufragenden TextBoxes nicht durch Userform_initialize sondern über userform_activate geladen werden?
Gruss
Peter
Anzeige
AW: Start von Userform und Commandbutton
13.02.2017 08:48:37
Peter
Hallo Harry,
besten Dank für Deine Hilfe.
Habe den Fehler gefunden. Das Füllen der TextBoxes erfolgte über Userform_activate statt Userform_initialize. Habe dies geändert jetzt gehts.
Besten Dank für Deine Hilfe und noch einen schönen Tag.
Gruss
Peter
AW: Start von Userform und Commandbutton
13.02.2017 09:03:23
harry
Danke für die Rückmeldung,
Dir auch noch einen schönen Tag

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Userform starten und CommandButton über VBA aufrufen


Schritt-für-Schritt-Anleitung

Um eine Userform zu starten und einen CommandButton über VBA auszuführen, folge diesen Schritten:

  1. Userform erstellen: Stelle sicher, dass du eine Userform (z.B. UserForm1a) in deinem VBA-Projekt erstellt hast.

  2. Makro zum Öffnen der Userform schreiben:

    Sub UserformStarten()
       UserForm1a.Show
    End Sub
  3. Code für den CommandButton: Du kannst den Code für den CommandButton in eine separate Subroutine auslagern:

    Sub CommandButtonAktion()
       ' Hier kommt der Code, der beim Klicken des Buttons ausgeführt werden soll
       MsgBox "Button wurde gedrückt!"
    End Sub
  4. Userform initialisieren: Nutze das UserForm_Initialize Ereignis, um beim Start der Userform den CommandButton auszuführen:

    Private Sub UserForm_Initialize()
       CommandButtonAktion
    End Sub
  5. Userform aufrufen: Rufe das Makro UserformStarten auf, um die Userform zu starten:

    Sub BeispielAufruf()
       Call UserformStarten
    End Sub

Häufige Fehler und Lösungen

  • Userform lädt nicht vollständig: Wenn du versuchst, den CommandButton direkt nach dem Öffnen der Userform auszuführen, kann es sein, dass die Userform noch nicht voll funktionsfähig ist. Stelle sicher, dass du den Button im UserForm_Initialize Ereignis aufrufst.

  • TextBox-Werte werden nicht geladen: Achte darauf, dass die Werte in TextBoxen im UserForm_Initialize und nicht im UserForm_Activate geladen werden. Falls das nicht funktioniert, überprüfe, ob die Logik korrekt implementiert ist.


Alternative Methoden

Eine alternative Methode, um die Userform und den CommandButton zu starten, ist die Verwendung eines Buttons auf einem Arbeitsblatt:

  1. Füge einen Button auf deinem Arbeitsblatt hinzu.
  2. Weise diesem Button das folgende Makro zu:
    Sub ButtonAufArbeitsblatt()
       UserformStarten
    End Sub

So kannst du die Userform über einen einfachen Klick auf den Button auf dem Arbeitsblatt starten.


Praktische Beispiele

Hier ist ein Beispiel, wie du die Userform und den CommandButton zusammenführen kannst:

Private Sub UserForm_Initialize()
    TextBox1.Value = "Willkommen!"
    CommandButtonAktion
End Sub

Private Sub CommandButton6_Click()
    MsgBox "Der Button wurde gedrückt!"
End Sub

In diesem Fall wird beim Start der Userform eine Begrüßungsnachricht in die TextBox geschrieben und der CommandButton wird automatisch gedrückt.


Tipps für Profis

  • Ereignisgesteuerte Programmierung: Nutze Events wie UserForm_Initialize, um sicherzustellen, dass deine Userform korrekt geladen wird, bevor du Aktionen durchführst.

  • Code sauber halten: Halte deine Makros und Subroutinen gut strukturiert und getrennt, um die Wartbarkeit zu erhöhen.

  • Debugging: Verwende Debug.Print oder MsgBox, um den Status deiner Variablen zu überprüfen, während du dein Makro entwickelst.


FAQ: Häufige Fragen

1. Wie kann ich die Userform mit einem Button auf einem Arbeitsblatt starten?
Du kannst einen Button auf deinem Arbeitsblatt hinzufügen und ihm ein Makro zuweisen, das die Userform öffnet.

2. Warum funktioniert mein CommandButton nicht, wenn die Userform geöffnet ist?
Stelle sicher, dass du den Code für den CommandButton im UserForm_Initialize oder UserForm_Activate Ereignis aufrufst, um sicherzustellen, dass die Userform vollständig geladen ist.

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