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

Forumthread: Makro in allen MARKIERTEN Blättern ausführen

Makro in allen MARKIERTEN Blättern ausführen
01.10.2024 15:57:32
Manni
Hallo!
Ich habe eine Arbeitsmappe mit vielen Blättern. Nun möchte ich einige beliebige Blätter (mit STRG-Taste) auswählen und dann in allen diesen ausgewählten Blättern (aber nicht in den restlichen) ein bestimmtes Makro ausführen.
Gibt es dafür eine Lösung?

Es sind immer verschiedene Blätter und ich kann keine Kriterien (wie Blattnamen) festlechen. Ich könnte natürlich jedes betreffende Blatt einzeln auswählen und das Markro starten, aber das ist natürlich viel aufwändiger, als die gewünschten Blätter einfach mit STRG auszuwählen und dann automatisch dort das Makro auszuführen.

Vielen Dank!
Manni
Anzeige

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

Betreff
Datum
Anwender
Anzeige
.SelectedSheets?
01.10.2024 16:09:25
RPP63
Moin!
Stichwort siehe meinen Betreff.

Gruß Ralf
AW: Makro in allen MARKIERTEN Blättern ausführen
01.10.2024 17:08:02
Manni
Vielen Dank. Die Array-Lösung ist perfekt!

Manni
Anzeige
AW: Makro in allen MARKIERTEN Blättern ausführen
01.10.2024 16:58:29
Piet
Hallo

ich habe auch noch zwei verschiedene Code Ideen im Angebot.
Der 1. Code arbeitet mit Case Select. Dort kannst du die ausgewählten Tabellen direkt als Text angeben.
Der 2. Code benötigt eine Hilfstabelle, wo alle Tabellen aufgelistet sind. Da gibst du in Spalte C ein x ein.

mfg Piet

'1. Variante mit Select Case

Sub Makro_Case_ausführen()
For j = 1 To ThisWorkbook.Worksheets.Count
Select Case ThisWorkbook.Worksheets(j).Name
Case "Tabelle1", "Tabelle2"
Call DeinMakro
End Select
Next j
End Sub

'2. Variante, besteht aus 2 Makros!!
Sub Alle_Tabelle_auflisten()
With ThisWorkbook.Worksheets("Tabelle1")
For j = 1 To ThisWorkbook.Worksheets.Count
.Cells(j + 2, 1) = j
.Cells(j + 2, 2) = ThisWorkbook.Worksheets(j).Name
Next j
End With
End Sub

Sub Tabelle_Makro_ausführen()
With ThisWorkbook.Worksheets("Tabelle1")
For j = 1 To ThisWorkbook.Worksheets.Count
If LCase(.Cells(j + 2, 3)) = "x" Then
Call DeinMakro
End If
Next j
End With
End Sub
Anzeige
AW: vermutlich falsch gelesen? was übersehen... oWt
01.10.2024 21:49:21
Piet
...
@Piet:
01.10.2024 17:06:47
RPP63
Was haben Deine Codes mit der Frage des TE zu tun?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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