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

Mit Makro CommandButton ansprechen

Forumthread: Mit Makro CommandButton ansprechen

Mit Makro CommandButton ansprechen
18.02.2008 15:59:00
BerndR
Hallo,
mit welchem Makro-Code kann ich einen CommandButton (oder dessen Click-Code) ausführen?
Makro-Aufzeichnung gelingt nicht.
Habe Userforn in Tabelle1 und darin 1 TextBox und 2 CommandButton; einen davon möchte ich ansprechen.
Gruß BerndR

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Makro CommandButton ansprechen
18.02.2008 16:17:02
Renee
Hi Bernd R
DoppelClick im Entwurfsmodus im VBE auf den CommandButton in der UF und schreib dort deinen VBA Code rein.
GreetZ Renée

AW: Mit Makro CommandButton ansprechen
18.02.2008 16:32:07
BerndR
Danke Renée,

Private Sub CommandButton1_Click()
CommandButton2_Click
End Sub



Private Sub CommandButton2_Click()
MsgBox "Na also, geht doch!"
End Sub


so sehen im Versuchsstadium die Codes aus.
Ich möchte nun CommandButton1_Click mittels Makro aufrufen; geht das (und wie)?
Welchen Code ich auch in das Makro schreibe: entweder findet der Debugger die Sub nicht, oder er sagt Typunverträglichkeit oder Objekt unterstützt diese Eigenschaft oder Methode nicht.
Gruß BerndR

Anzeige
AW: Mit Makro CommandButton ansprechen
18.02.2008 16:41:00
Renee
Hi Bernd,
Ich möchte nun CommandButton1_Click mittels Makro aufrufen; geht das (und wie)?
sorry, aber solche Unsinnigkeiten sind mir zuwider. Warum eine Event einer Schaltfläche aufrufen, die Schaltfläche ist doch dafür da, das einE BenutzerIn diese klickt. Aber anyway, dein Code:

Private Sub CommandButton1_Click()
Call CommandButton2_Click
End Sub


GreetZ Renée

Anzeige
AW: Mit Makro CommandButton ansprechen
18.02.2008 16:47:00
BerndR
Hallo Renée,
danke für Deine Bemühungen.
Hab' bitte Nachsicht mit einem Anfänger in VBA.
Gruß BerndR

AW: Mit Makro CommandButton ansprechen
18.02.2008 17:12:46
Original
Hi,

Private Sub CommandButton1_Click()
CommandButton2 = -1
End Sub


mfg Kurt

AW: Mit Makro CommandButton ansprechen
18.02.2008 17:14:00
Renee
Hi BerndR,
Hab' bitte Nachsicht mit einem Anfänger in VBA. Kein Problem damit, war keineswegs als Beleidigung gemeint. Versuch halt eine 'Ablauf'logik in deinen Code zu bringen, der es verhindert, dass du solche Konstrukte machen musst.
GreetZ Renée
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Mit Makro CommandButton ansprechen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic Editor (VBE):

    • Drücke ALT + F11, um den VBE zu öffnen.
  2. Finde deinen CommandButton:

    • Navigiere zu deinem UserForm, in dem sich die CommandButtons befinden.
  3. Doppelklicke auf den CommandButton:

    • Dies öffnet das Code-Fenster für den Button. Hier kannst du deinen VBA Code einfügen.
  4. Schreibe den Code zum Ansprechen des CommandButtons:

    • Um einen CommandButton mit einem anderen zu steuern, kannst du den folgenden Code verwenden:
    Private Sub CommandButton1_Click()
       Call CommandButton2_Click
    End Sub
    
    Private Sub CommandButton2_Click()
       MsgBox "Na also, geht doch!"
    End Sub
  5. Führe den Code aus:

    • Schließe den VBE und teste die UserForm. Klicke auf CommandButton1, um CommandButton2 zu aktivieren.

Häufige Fehler und Lösungen

  • Fehler: Sub nicht gefunden:

    • Stelle sicher, dass der Name des CommandButtons korrekt ist und dass du im richtigen Code-Fenster arbeitest.
  • Typunverträglichkeit oder Objekt unterstützt diese Eigenschaft oder Methode nicht:

    • Überprüfe deine Variablen und deren Typen. Stelle sicher, dass alle Objekte korrekt initialisiert sind.
  • Die Makro-Aufzeichnung funktioniert nicht:

    • Die Aufzeichnung von Makros kann keine Ereignisse in UserForms aufzeichnen. Du musst den Code manuell schreiben.

Alternative Methoden

  • Direktes Ansprechen ohne Call:

    • Statt Call CommandButton2_Click kannst du auch einfach CommandButton2_Click verwenden, da die Verwendung von Call optional ist.
  • Verwendung von With-Anweisungen:

    • Wenn du mehrere Eigenschaften eines CommandButtons ändern möchtest, kann eine With-Anweisung hilfreich sein.
With CommandButton2
    .Caption = "Neuer Text"
    .Enabled = True
End With

Praktische Beispiele

  • Beispiel 1: Aktivierung eines CommandButtons basierend auf einer Bedingung:
Private Sub CommandButton1_Click()
    If TextBox1.Text = "" Then
        MsgBox "Bitte Text eingeben!"
    Else
        Call CommandButton2_Click
    End If
End Sub
  • Beispiel 2: Ändern des Aussehens eines CommandButtons:
Private Sub CommandButton1_Click()
    CommandButton2.BackColor = RGB(255, 0, 0) ' Ändert die Hintergrundfarbe auf Rot
End Sub

Tipps für Profis

  • Verwende Fehlerbehandlung:

    • Implementiere On Error Resume Next, um unerwartete Fehler abzufangen.
  • Code modularisieren:

    • Teile deinen Code in kleinere Subroutinen auf, um die Lesbarkeit und Wartbarkeit zu erhöhen.
  • Dokumentation:

    • Kommentiere deinen Code ausführlich, um anderen (oder dir selbst) das Verständnis zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich mehrere CommandButtons gleichzeitig ansprechen? Ja, du kannst mehrere CommandButtons in einer Subroutine ansprechen, indem du entsprechende Funktionen für jeden Button aufrufst.

2. Wie kann ich den Status eines CommandButtons abfragen? Du kannst den Status eines CommandButtons mit der Eigenschaft Enabled oder Visible abfragen. Zum Beispiel: If CommandButton1.Enabled Then.

3. Funktioniert das auch in Excel 2016 und 2019? Ja, die beschriebenen Methoden und Codes funktionieren in Excel 2016, 2019 und auch in Excel für Microsoft 365.

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