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

Forumthread: Makros nacheinander ausführen

Makros nacheinander ausführen
05.10.2004 14:45:25
Helmut
Hallo Excelfreunde!
Ich habe mir mit Hilfe dieses super Forums und Makroaufzeichenen folgende Makros zusammengestellt. Nun möchte ich das auf Knopfdruck diese Makros nacheinander ausgeführt werden. Kann mir bitte Jemand helfen, wie das geht.
Makro 1

Sub Ausblenden()
Dim wks As Worksheet
Dim TabName As String
Dim I As Integer 'Zähler für Spalten D bis S
Dim X As Integer 'Zahler für Blätter 2 bis 21
Set wks = ActiveSheet
TabName = "Klasse" 'Name der Blätter ohne Index
For I = 4 To 19
If wks.Cells(1, I) = 0 Then
For X = 1 To 20
Sheets(TabName & X).Columns(I).EntireColumn.Hidden = True
Next '& ""
Else
For X = 1 To 20
Sheets(TabName & X).Columns(I).EntireColumn.Hidden = False
Next
End If
Next
End Sub

---------------------------------------------------------------------------------------
Makro 2

Sub ausblendenListen()
'ausblenden der Listen Artikel, VorOrtUeberweisungslisten, VorOrtAbrechnung
ActiveWorkbook.Unprotect
Sheets("Artikel").Visible = False
Sheets("VorOrtUeberweisungslisten").Visible = False
Sheets("VorOrtAbrechnung").Visible = False
End Sub

--------------------------------------------------------------------------------------
Makro 3

Sub schützenBlätter()
Dim intSheet As Integer
Application.ScreenUpdating = False
'Blaetter schuetzen:
For intSheet = 1 To Worksheets.Count
Worksheets(intSheet).Protect '"Das Passwort" ‘hier musst du dein Passwort eingeben
Next intSheet
Application.ScreenUpdating = True
End Sub

-------------------------------------------------------------------------------------
Makro 4

Sub SPEICHER_UNTER()
'Speichert die Mappe unter D:\Gravurlisten\(Inhalt Zelle D8, Artikelblatt), wenn dort ein Wert steht, im Excel97 Format
ActiveWorkbook.Protect
If Range("D8") = "" Then GoTo FINI
x = "D:\Gravurlisten\"
y = Sheets("Artikel").Range("D8")
SPEINAM2 = x & y & ".xls"
ActiveWorkbook.SaveAs Filename:=(SPEINAM2), FileFormat:=xlExcel9795, ReadOnlyRecommended:=False, CreateBackup:=True
FINI:
End Sub

--------------------------------------------------
Mit dem Makro 1 blende ich bestimmte Spalten, bestimmter Blätter aus.
Mit dem Makro 2 blende ich einzelne Blätter aus.
Mit dem Makro 3 schütze ich alle Blätter der Mappe.
Mit dem Makro 4 speichere ich die Mappe unter "Inhalt der Zelle D8 des Blattes "Artikel" ".
Wie kann ich diese Makros zusammenführen?
Danke für die Hilfe!
mfg, Helmut
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros nacheinander ausführen
Oberschlumpf
Hi Helmut
Versuch es so:

Sub StartMakro()
Makroname 1
Makroname 2
Makroname 3
Makroname 4
End Sub

Und dieses "StartMakro" wird von Deinem Knopf gestartet.
Bei Azfruf von StartMakro wird erst das 1, dann 2.3. und 4. Makro nacheinander durchlaufen.
Wars das?
Bye
Thorsten
Anzeige
AW: Makros nacheinander ausführen
05.10.2004 18:46:44
Helmut
Danke für die Hilfe!
Werde es heute Abend testen und Rückmeldung geben.
mfg, Helmut
AW: Makros nacheinander ausführen
06.10.2004 15:07:52
Helmut
Danke für Eure Hilfe, Funzt alles super!
mfg,Helmut
AW: Makros nacheinander ausführen
hans

Sub Ausblenden()
Dim wks As Worksheet
Dim TabName As String
Dim I As Integer 'Zähler für Spalten D bis S
Dim X As Integer 'Zahler für Blätter 2 bis 21
Set wks = ActiveSheet
TabName = "Klasse" 'Name der Blätter ohne Index
For I = 4 To 19
If wks.Cells(1, I) = 0 Then
For X = 1 To 20
Sheets(TabName & X).Columns(I).EntireColumn.Hidden = True
Next '& ""
Else
For X = 1 To 20
Sheets(TabName & X).Columns(I).EntireColumn.Hidden = False
Next
End If
Next
ausblendenlisten
schützenblätter
SPEICHER_UNTER
End Sub

sollte gehen,oder?
gruß hans
Anzeige
AW: Makros nacheinander ausführen
05.10.2004 18:47:40
Helmut
Danke, Werde es heute Abend testen und Rückmeldung geben.
mfg, Helmut
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makros nacheinander ausführen in Excel


Schritt-für-Schritt-Anleitung

Um mehrere Makros nacheinander auszuführen, kannst Du ein Hauptmakro erstellen, das die anderen Makros der Reihe nach aufruft. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (drücke ALT + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").
  3. Füge den folgenden Code ein, um die Makros nacheinander auszuführen:
Sub StartMakros()
    Call Ausblenden
    Call ausblendenListen
    Call schützenBlätter
    Call SPEICHER_UNTER
End Sub
  1. Weise das StartMakros-Makro einem Button in Deinem Excel-Dokument zu. Gehe dazu auf "Entwicklertools" > "Einfügen" > "Button" und ziehe ihn auf das Arbeitsblatt.
  2. Wähle das StartMakros-Makro aus der Liste aus.

Jetzt kannst Du durch einen Klick auf den Button alle vier Makros nacheinander ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Makro nicht gefunden"

    • Stelle sicher, dass die Makronamen korrekt geschrieben sind und dass sie im gleichen Modul oder in einem anderen Modul im gleichen Projekt vorhanden sind.
  • Fehler: "Excel reagiert nicht"

    • Dies kann passieren, wenn ein Makro eine lange Ausführung hat. Überprüfe die Logik in Deinen Makros, um sicherzustellen, dass sie effizient arbeiten.
  • Fehler: Blätter nicht gefunden

    • Überprüfe, ob die Blattnamen in Deinen Makros korrekt sind und dass die Blätter existieren.

Alternative Methoden

Eine weitere Möglichkeit, mehrere Makros nacheinander auszuführen, besteht darin, sie in einer einzigen Makro-Prozedur zu kombinieren. Du kannst die Funktionen, die Du in jedem einzelnen Makro hast, in ein einziges Makro zusammenführen. Zum Beispiel:

Sub AlleMakros()
    'Hier wird die Logik von Ausblenden, ausblendenListen, schützenBlätter und SPEICHER_UNTER zusammengeführt
    '...
End Sub

Das Zusammenführen von Makros kann helfen, die Übersichtlichkeit zu erhöhen und die Performance zu verbessern.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Makros in Excel nacheinander ausführen kannst:

  1. Makros zum Ausblenden und Schützen von Blättern:
Sub AlleMakros()
    Ausblenden
    ausblendenListen
    schützenBlätter
    SPEICHER_UNTER
End Sub
  1. Makros zum Speichern und Schützen von Daten:
Sub DatenVerarbeiten()
    ' Beispiel für Makros, die Daten verarbeiten
    Makro1
    Makro2
    Makro3
End Sub

Diese Beispiele zeigen, wie Du verschiedene Makros effizient zusammenführen kannst, um Deine Excel-Arbeitsabläufe zu optimieren.


Tipps für Profis

  • Nutze Fehlerbehandlung in Deinen Makros, um sicherzustellen, dass sie auch bei Fehlern stabil laufen. Zum Beispiel:
On Error Resume Next
  • Verwende Schleifen und Bedingungen, um die Funktionalität Deiner Makros zu erweitern und sie flexibler zu gestalten.
  • Dokumentiere Deinen Code gründlich, damit Du und andere Benutzer ihn leicht verstehen und anpassen können.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass alle Makros erfolgreich ausgeführt werden? Um sicherzustellen, dass alle Makros erfolgreich ausgeführt werden, kannst Du eine Fehlerbehandlung in Deinem StartMakros-Makro einfügen, um auf Fehler zu reagieren.

2. Kann ich Makros in einer bestimmten Reihenfolge ausführen? Ja, indem Du die Aufrufe der Makros in der gewünschten Reihenfolge in Deinem Hauptmakro anordnest, kannst Du die Ausführungsreihenfolge steuern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige