Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Makro über anderes Makro starten
Chris
Hi zusammen!
In meiner Excel-Mappe habe ich mehrere Sheets (Sheet2 bis Sheet4), auf dem sich jeweils ein Button befindet. Per Knopfdruck importiert ein dem jeweiligen Button hinterlegtes Makro Quelldaten in das Sheet.
Je nach Verwendung meiner Excel-Mappe macht es Sinn, für jedes einzelne Sheet einen eigenen Button zu haben.
Aber ich könnte auch noch einen globalen Button im Sheet 1 (sozusagen die Homepage der Arbeitsmappe) gebrauchen, der per Knopdruck alle anderen Buttons bzw. alle dort hinterlegten Makros ausführt.
Wenn ich das aufzeichnen will, wird im VBA-Code das Drücken der Buttons nicht dargestellt. Wie könnte man das selbst programmieren?

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

Betreff
Benutzer
Anzeige
AW: Makro über anderes Makro starten
20.11.2009 14:08:39
Rudi
Hallo,
einfach die Makros aufrufen.
Private Sub CommandButton1_Click()
Makro1
Makro2
Makro3
Makro4
End Sub

Gruß
Rudi
AW: Makro über anderes Makro starten
20.11.2009 14:20:58
Chris
Bei mir heißen die Makros in den Sheets 2 bis 4 alle
<pre>Private Sub CommandButton1_Click()
Wenn ich den Namen "CommandButton1_Click()" ändere, greift der jeweilige Button im Sheet nicht mehr darauf zu.
Und für den globalen Button kann ich dann doch nicht
Private Sub CommandButton1_Click()
CommandButton1_Click()
CommandButton1_Click()
CommandButton1_Click()
End Sub
schreiben, oder?
Anzeige
AW: Makro über anderes Makro starten
20.11.2009 14:26:51
Rudi
Hallo,
dann lagere die Codes als normale Prozedur in ein Modul aus und ruf sie in der Click-Prozedur auf.
Private Sub CommandButton1_Click()
Makro1
End Sub
Gruß
Rudi
AW: Makro über anderes Makro starten
20.11.2009 14:58:51
Chris
Klappt. Danke!
AW: Makro über anderes Makro starten
20.11.2009 14:30:55
Björn
Hallo,
Allgemein wird "Makro" für Prozedur verwendet, so hat es Rudi auch verstanden und sein Code stimmt.
Du möchtest aber keine Prozedur aufrufen, sondern einen Knopf drücken.
Das geht so:
Worksheets("Sheets2").CommandButton1 = True
Aber das ist sehr schlecht programmiert. (Nicht böse gemeint, Du bist wahrscheinlich Anfänger, und diese Fehler macht jeder).
Am besten, Du gibst jedem Steuerelement einen Namen, dass du das nachher sauber zuordnen kannst.
Also für Commandbuttons nimmt man normalerweise am Anfang "cmd" und danach einen aussagekräftige Erweiterung, z.B. die Funktion des Buttons. Also z.B. ein Abbrechen -Button würde dann "cmdAbbrechen" heißen. Dann weißt du immer, welcher Knopf das ist, ohne nachzuschauen.
Wer weiß schon, was CommandButton13 auf Sheet 5 macht? cmdKopieren versteht man eher. Verstanden?
Nächster Schritt.
Es ist meistens besser, im Button selbst nicht zu viel Code reinzupacken.
Besser wäre, den Code in eine Prozedur auszulagern und diese in einem allgemeinen Modul zu speichern.
Somit brauchst du im Button nur noch die Prozedur aufrufen.
Call Prozedurname

Dann kannst du auch aus anderen Sheets direkt auf den Code zugreifen.
So, hoffe, ich habe Dir damit geholfen.
Gruß
Björn B.
Anzeige
AW: Makro über anderes Makro starten
20.11.2009 15:00:25
Chris
Jep, vielen Dank für die Erklärung!

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige