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

Forumthread: Bei Buttonklick nacheinander Makros starten

Bei Buttonklick nacheinander Makros starten
Wolfgang
Hallo, liebe Excel-Experten !
Ich stehe grad ein wenig auf dem Schlauch und habe im Archiv leider nichts passendes gefunden...
Ich möchte in einer Datei durch Weiterklicken EINES Buttons mehrere Makros nacheinander ausführen.
Dabei sollen die Makros sich aber jeweils auf die Originaldatei beziehen und unabhängig voneinander sein.
Also quasi wie ein Umschaltbutton mit mehr als 2 Umschaltwerten...
Ein Beispiel zur Verdeutlichung:
In Spalte A tauchen 5 verschiedene Modelle auf.
Durch Weiterklicken möchte ich nacheinander die Gesamttabelle nach jeweils einem Modell filtern.
Die Kombination mehrerer Makros in einem Commandbutton mit Call Makro1, Call Makro2 etc. ist mir schon bekannt. Aber wie kriege ich es hin, daß nach jeweils einem weiteren Klick auf denselben Button
die Datei zurückgesetzt und das nächste Makro aufgerufen wird ?
Für Hinweise wäre ich sehr dankbar !
Vielen Dank im voraus und ein schönes Wochenende !
Viele Grüße
Wolfgang
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bei Buttonklick nacheinander Makros starten
04.05.2012 10:54:48
Rudi
Hallo,
Private Sub CommandButton1_Click()
Static iCounter As Integer
iCounter = iCounter + 1
Select Case iCounter
Case 1: makro1
Case 2: makro2
Case 3: makro3: iCounter = 0
End Select
End Sub

Gruß
Rudi
AW: Bei Buttonklick nacheinander Makros starten
04.05.2012 10:59:45
Wolfgang
Hallo Rudi !
Ich bin (wie immer) begeistert über die schnelle und kompetente Hilfe, die man hier erhält !
Vielen lieben Dank !
Gruß
Wolfgang
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Makros nacheinander mit einem Button ausführen


Schritt-für-Schritt-Anleitung

Um mehrere Makros nacheinander auszuführen, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird in das Click-Ereignis eines CommandButtons eingefügt:

Private Sub CommandButton1_Click()
    Static iCounter As Integer
    iCounter = iCounter + 1
    Select Case iCounter
        Case 1: makro1
        Case 2: makro2
        Case 3: makro3: iCounter = 0
    End Select
End Sub
  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge einen CommandButton auf einem Arbeitsblatt ein.
  3. Doppelklicke auf den CommandButton, um das Codefenster zu öffnen.
  4. Kopiere den obigen Code in das Codefenster.
  5. Ersetze makro1, makro2, und makro3 durch die Namen Deiner eigenen Makros.
  6. Schließe den VBA-Editor und teste den Button in Excel.

Mit diesem Vorgehen kannst Du mehrere Makros nacheinander ausführen, indem Du einfach auf denselben Button klickst.


Häufige Fehler und Lösungen

  • Fehler: Makro nicht gefunden

    • Lösung: Stelle sicher, dass die Makros, die Du aufrufst, korrekt benannt sind und im gleichen Modul oder in einem zugänglichen Modul gespeichert sind.
  • Fehler: Button funktioniert nicht

    • Lösung: Überprüfe, ob der Button korrekt mit dem VBA-Code verbunden ist. Stelle sicher, dass der Code im richtigen Arbeitsblattmodul ist.

Alternative Methoden

Wenn Du mehrere Module nacheinander ausführen möchtest, kannst Du auch eine separate Subroutine erstellen, die die verschiedenen Makros aufruft:

Sub AlleMakros()
    Call makro1
    Call makro2
    Call makro3
End Sub

Danach kannst Du diese Subroutine mit einem Button oder einem Shortcut ausführen. Diese Methode ist hilfreich, wenn Du die Makros in verschiedenen Modulen organisiert hast.


Praktische Beispiele

Angenommen, Du hast folgende Makros:

Sub makro1()
    ' Filter nach Modell 1
End Sub

Sub makro2()
    ' Filter nach Modell 2
End Sub

Sub makro3()
    ' Filter nach Modell 3
End Sub

Mit dem oben genannten Code und einer Button-Klick-Aktion kannst Du durch die Modelle nacheinander filtern, ohne die Tabelle manuell zurückzusetzen.


Tipps für Profis

  • Verwende Static Variablen: Um den Status zwischen den Klicks zu speichern, ist die Verwendung von Static Variablen sehr nützlich.
  • Füge Fehlerbehandlung hinzu: Stelle sicher, dass Du Fehlerbehandlungsroutinen in Deine Makros einfügst, um unerwartete Probleme zu vermeiden.
  • Dokumentiere Deinen Code: Schreibe Kommentare, damit andere (oder Du selbst später) verstehen, was jeder Teil Deines Codes tut.

FAQ: Häufige Fragen

1. Wie kann ich mehr als drei Makros nacheinander ausführen?
Du kannst einfach zusätzliche Case-Anweisungen im Select Case-Block hinzufügen und den Zähler entsprechend anpassen.

2. Funktioniert dieser Code auch in Excel Online?
Leider ist die Verwendung von VBA in Excel Online nicht möglich. Dieser Code funktioniert nur in der Desktop-Version von Excel.

3. Kann ich die Anzahl der Klicks zurücksetzen?
Ja, Du kannst den Zähler iCounter zurücksetzen, indem Du den Wert in einem bestimmten Fall (z.B. nach dem dritten Makro) wieder auf 0 setzt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige