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

Spalten über mehrere Tabellen ausblenden

Forumthread: Spalten über mehrere Tabellen ausblenden

Spalten über mehrere Tabellen ausblenden
19.02.2016 21:03:52
Oliver
Einen wunderschönen guten Abend zusammen,
ich suche ein Makro für folgendes Vorhaben:
Ich möchte gerne über alle Tabellen einer Arbeitsmappe die Spalten ausblenden, die ein x haben, wenn die Bedingung wahr ist, sonst "", dann einblenden. Die Zuweisung x oder "" erfolgt dabei via Formel.
Konkret wähle ich z. B. den Stand Vorschau 1 aus. Daraufhin erhalten alle Spalten (in allen Tabellen), die ungleich Vorschau 1 sind, ein x -> in der ersten Zeile und in den entsprechenden Spalten, die die Bedingung nicht erfüllen (= ausblenden).
Ich habe auch hier schon im Forum gestöbert und sehr gute Ansätze gefunden, allerdings oft nur bezogen auf ein konkretes Tabellenblatt, in dem etwas ausgeblendet bzw. eingeblendet werden soll.
Ich suche nach der globalgalaktischen Schleife über alle Tabellenblätter und bedanke mich jetzt schon für alle helfenden Hände
Viele Grüße Oliver

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten über mehrere Tabellen ausblenden
19.02.2016 21:49:21
Michael
Hallo,
Direkt kann ich die Frage nicht beantworten, da nicht gesagt wurde in welchen Zellen das "x" steht.
Aber Schleifen über alle sheets gehen z. B. so:
Dim ws as worksheet
For each ws in thisworkbook.sheets
... code
Next ws
Oder:
Wscount = thisworkbook.sheets.count
Dann eine Schleife mit for i = 1 to wscount
Vielleicht hat es geholfen
Mfg

Anzeige
AW: Spalten über mehrere Tabellen ausblenden
20.02.2016 10:09:29
Oliver
Hallo Michael,
vielen Dank für Deine Antwort! Das x steht variabel in einem Bereich zwischen der 4. und 60. Spalte -> jeweils in Zelle 1.
Nachfolgenden Code habe ich hier im Forum gefunden, der perfekt für eine Tabelle funktioniert. Diesen würde ich gerne so erweitern, dass er alle Tabellen durchläuft:
Sub ausblenden()
Dim i%, Ab%, Bis%, Was$
Ab = 4: Bis = 60 \'Spaltenbereich
Was = \"x\"
\'Application.ScreenUpdating = False
With ActiveSheet
.Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False \'zurücksetzen
For i = Ab To Bis
If .Cells(1, i) = Was Then
.Columns(i).EntireColumn.Hidden = True
End If
Next i
End With
End Sub

Anzeige
AW: Spalten über mehrere Tabellen ausblenden
20.02.2016 10:29:06
Gerd
Hallo Oliver,
was ist schon perfekt? Teste mal:
Sub ausblenden()
Dim i%, Ab%, Bis%, Was$
Dim WS As Worksheet
Ab = 4: Bis = 60 '\'Spaltenbereich
Was = "x"
'Application.ScreenUpdating = False
For Each WS In ActiveWorkbook.Worksheets
With WS
.Range(.Columns(Ab), .Columns(Bis)).EntireColumn.Hidden = False '\'zurücksetzen
For i = Ab To Bis
If .Cells(1, i) = Was Then
.Columns(i).EntireColumn.Hidden = True
End If
Next i
End With
Next
End Sub

Gruß Gerd

Anzeige
AW: Spalten über mehrere Tabellen ausblenden
20.02.2016 17:07:12
Oliver
Hallo Gerd,
Du hast natürlich recht (was ist schon perfekt?). Ich streiche das mal eben aus meinem Wortschatz und formuliere das mal eben anders:
Dein Code funktioniert fehlerfrei und erfüllt genau das, nach was ich gesucht habe. Herzlichen Dank dafür!
;
Anzeige
Anzeige

Infobox / Tutorial

Spalten über mehrere Tabellen ausblenden


Schritt-für-Schritt-Anleitung

Um Spalten über mehrere Tabellenblätter in Excel auszublenden, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei: Stelle sicher, dass Du die Arbeitsmappe geöffnet hast, in der Du die Spalten ausblenden möchtest.

  2. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) > Einfügen > Modul.

  4. Kopiere den folgenden Code in das Modul:

    Sub ausblenden()
       Dim i As Integer, Ab As Integer, Bis As Integer, Was As String
       Dim WS As Worksheet
       Ab = 4: Bis = 60 'Spaltenbereich
       Was = "x"
       For Each WS In ActiveWorkbook.Worksheets
           With WS
               .Range(.Columns(Ab), .Columns(Bis)).EntireColumn.Hidden = False 'zurücksetzen
               For i = Ab To Bis
                   If .Cells(1, i) = Was Then
                       .Columns(i).EntireColumn.Hidden = True
                   End If
               Next i
           End With
       Next
    End Sub
  5. Schließe den VBA-Editor: Drücke ALT + Q, um zum Excel-Arbeitsblatt zurückzukehren.

  6. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle ausblenden aus und klicke auf Ausführen.

Jetzt werden alle Spalten, die in der ersten Zeile "x" enthalten, in allen Tabellenblättern ausgeblendet.


Häufige Fehler und Lösungen

  • Fehler: Makro läuft nicht
    Lösung: Stelle sicher, dass die Makros in Deinen Excel-Einstellungen aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option für Makros.

  • Fehler: Spalten werden nicht ausgeblendet
    Lösung: Überprüfe, ob die Werte in der ersten Zeile tatsächlich "x" sind. Falls Du eine andere Bedingung hast, passe den Wert in der Zeile Was = "x" entsprechend an.


Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du die Spalten manuell ausblenden:

  1. Markiere die gewünschten Spalten: Halte die Strg-Taste gedrückt und klicke auf die Spaltenüberschriften.

  2. Rechtsklick auf die markierten Spalten: Wähle Ausblenden aus dem Kontextmenü.

Für ein automatisiertes Verfahren über mehrere Tabellenblätter bleibt jedoch das Makro die effektivere Methode.


Praktische Beispiele

Hier ist ein praktisches Beispiel, um das Makro zu nutzen:

Angenommen, Du hast drei Tabellenblätter: Tabelle1, Tabelle2, und Tabelle3. In der ersten Zeile dieser Tabellenblätter stehen in den Spalten 4 bis 60 entweder "x" oder nichts. Nach dem Ausführen des Makros werden alle Spalten, die ein "x" in der ersten Zeile haben, in allen Blättern ausgeblendet.


Tipps für Profis

  • Wenn Du häufig mit mehreren Tabellenblättern arbeitest, kannst Du das Makro so anpassen, dass es nur auf bestimmte Tabellen angewendet wird, indem Du die Schleife entsprechend filterst.

  • Nutze Kommentare im VBA-Code, um den Code verständlicher zu machen, insbesondere wenn Du ihn später erneut verwenden möchtest.

  • Um die excel umbruchvorschau ausblenden oder die excel umbruchvorschau seite 1 ausblenden Funktion zu verwenden, kannst Du zusätzliche VBA-Codes hinzufügen, die diese Funktionen ebenfalls automatisieren.


FAQ: Häufige Fragen

1. Kann ich das Makro für andere Bedingungen anpassen?
Ja, Du kannst den Wert von Was anpassen, um andere Bedingungen zu verwenden. Ändere einfach die Zeile Was = "x".

2. Funktioniert das Makro in allen Excel-Versionen?
Ja, das Makro sollte in Excel 2007 und späteren Versionen funktionieren. Achte darauf, dass Du die richtigen Sicherheitseinstellungen für Makros in Excel hast.

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