Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro auf mehrere Tabellenblätter anwenden

Makro auf mehrere Tabellenblätter anwenden
29.11.2018 12:10:14
Mike
Hallo,
ich habe ein ein Makro, welches ich auf meheren Tabellen durchlaufen lassen möchte, leider habe ich hier für mein Problem noch nicht die passende Lösung gefunden. Vielleicht kann mir jemand helfen. Das Makro soll in Tabellenblatt 1 und 2 laufen.
Code:
Sub SpaltenEinAusblenden()
Dim rngC As Range
Application.ScreenUpdating = False
For Each rngC In Range("B9:nl9")
rngC.EntireColumn.Hidden = (Len(rngC.Value) And rngC.Value = "x")
Next rngC
Application.ScreenUpdating = True
End Sub
Vielen Dank schon mal im Voraus für evtl. Hilfe.
Grüße Mike
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro auf mehrere Tabellenblätter anwenden
29.11.2018 12:19:16
Werner
Hallo Mike,
so:
Sub SpaltenEinAusblenden()
Dim rngC As Range, ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Tabelle1", "Tabelle2"
With ws
For Each rngC In .Range("B9:nl9")
rngC.EntireColumn.Hidden = (Len(rngC.Value) And rngC.Value = "x")
Next rngC
End With
Case Else
'nix machen
End Select
Next ws
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Makro auf mehrere Tabellenblätter anwenden
29.11.2018 12:57:29
Mike
Hallo Werner,
vielen Dank. Aber leider passiert nichts beim Ausführen des Makros. Es kommt aber auch keine Fehlermeldung. Was bedeutet das "nix machen" machen. Entschuldige, ich leider nicht so der VBA Experte.
Danke Die schon mal im Voraus.
Viele Grüße Mike
AW: Makro auf mehrere Tabellenblätter anwenden
29.11.2018 13:06:38
Mike
Hallo Werner,
es hat doch geklappt. Ich hatte vergessen zu erwähnen, dass ich die Tabellen umbenannt habe. Ich habe es im Code geändert und siehe da es hat geklappt.
Das gleiche Problem habe ich mit meinen Zeilen, welche ich ausblenden möchte. Könntest Du mir auch noch einmal helfen.
Sub ZellenEinAusblenden()
Application.ScreenUpdating = False
Set CellRange = Range("A5:A35")
For Each Cell In CellRange
Cell.EntireRow.Hidden = (Cell.Value = ("x"))
Next
Application.ScreenUpdating = True
End Sub
VielenDank und viele Grüße Mike
Anzeige
AW: Makro auf mehrere Tabellenblätter anwenden
29.11.2018 13:33:57
Werner
Hallo Mike,
ist das jetzt so schwer, das auf den zweiten Code zu übertragen?
Sub ZellenEinAusblenden()
Dim CellRange As Range, ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Tabelle1", "Tabelle2"
With ws
For Each CellRange In .Range("A5:A35")
CellRange.EntireRow.Hidden = (CellRange.Value = ("x"))
Next CellRange
End With
Case Else
'nix machen
End Select
Next ws
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Makro auf mehrere Tabellenblätter anwenden
29.11.2018 13:45:04
Mike
Hallo Werner,
ich glaube jetzt hab ich es geschnallt. Ich danke Dir vielmals und wünsche noch einen schönen Tag.
Vielen Grüße Mike
Gerne u. Danke für die Rückmeldung. o.w.T.
29.11.2018 13:45:32
Werner
super mal wieder....
29.11.2018 20:01:58
Werner
Hallo Mike,
...Crossposting, ohne im jeweiligen Forum eine Hinweis darauf zu geben.
Im MS Forum hat Beverly jetzt noch darauf geantwortet, obwohl das Thema schon lange durch ist.
Super Sache, da kommt Freude auf.
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro auf mehrere Tabellenblätter anwenden


Schritt-für-Schritt-Anleitung

Um ein Makro auf mehrere Tabellenblätter in Excel anzuwenden, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle "Einfügen" > "Modul".

  3. Kopiere den Code: Verwende den folgenden Code, um Spalten auf mehreren Tabellenblättern auszublenden:

    Sub SpaltenEinAusblenden()
       Dim rngC As Range, ws As Worksheet
       Application.ScreenUpdating = False
       For Each ws In ThisWorkbook.Worksheets
           Select Case ws.Name
           Case "Tabelle1", "Tabelle2"
               With ws
                   For Each rngC In .Range("B9:N9")
                       rngC.EntireColumn.Hidden = (Len(rngC.Value) And rngC.Value = "x")
                   Next rngC
               End With
           Case Else
               ' nix machen
           End Select
       Next ws
       Application.ScreenUpdating = True
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle das Makro aus und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert beim Ausführen des Makros
    Lösung: Überprüfe, ob die Tabellennamen korrekt im Code angegeben sind. Bei Umbenennungen der Blätter müssen die Namen im Code entsprechend angepasst werden.

  • Fehler: Keine Fehlermeldung, aber auch keine Änderungen
    Lösung: Stelle sicher, dass in den Zielzellen tatsächlich ein „x“ steht, da das Makro nur bei diesem Wert die Spalten ausblendet.


Alternative Methoden

Eine alternative Methode, um Excel-Formeln auf alle Blätter anzuwenden, wäre die Nutzung einer Excel-Tabelle oder einer Pivot-Tabelle, wenn du Daten aggregieren oder zusammenfassen musst.

Du kannst auch Power Query verwenden, um Daten aus mehreren Tabellenblättern zusammenzuführen, was manchmal einfacher ist als VBA.


Praktische Beispiele

Hier ist ein Beispiel, um Zeilen auf mehreren Tabellenblättern auszublenden:

Sub ZellenEinAusblenden()
    Dim CellRange As Range, ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In ThisWorkbook.Worksheets
        Select Case ws.Name
        Case "Tabelle1", "Tabelle2"
            With ws
                For Each CellRange In .Range("A5:A35")
                    CellRange.EntireRow.Hidden = (CellRange.Value = ("x"))
                Next CellRange
            End With
        Case Else
            ' nix machen
        End Select
    Next ws
    Application.ScreenUpdating = True
End Sub

Mit diesem Makro kannst du selektiv Zeilen auf den angegebenen Blättern ausblenden, abhängig vom Inhalt in der Spalte A.


Tipps für Profis

  • Verwende Variablen: Erstelle Variablen für die Tabellennamen, um den Code flexibler zu gestalten.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem Makro, um unvorhergesehene Probleme zu vermeiden.
  • Makro-Dokumentation: Kommentiere deinen Code ausreichend, damit andere (oder du selbst in der Zukunft) verstehen, was der Code tut.

FAQ: Häufige Fragen

1. Kann ich das Makro auf mehr als zwei Tabellenblätter anwenden?
Ja, du kannst einfach weitere Tabellennamen im Select Case-Block hinzufügen.

2. Funktioniert das Makro in allen Excel-Versionen?
Die VBA-Codes sollten in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren. Stelle sicher, dass du die Datei im richtigen Format speicherst (z.B. .xlsm für Makros).

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