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

Forumthread: Alle Tabellenblätter ausblenden - Ausnahmen

Alle Tabellenblätter ausblenden - Ausnahmen
miss18
Hallo liebes Forum,
ich habe folgendes Marko:

Sub Ausblenden()
Sheets(Array("A", "B", "C", "D", "E", "F", "G", "H", "I", _
"K", "L", "M", "N", _
"O", "P")).Select
Sheets("AAA").Activate
Sheets("BBB").Select Replace:=False
'   ActiveWindow.SelectedSheets.Delete (Löschen)
ActiveWindow.SelectedSheets.Visible = False
End Sub


Mit diesem Marko werden alle nicht benötigten Tabellenblätter ausgeblendet. Mit der Zeit ist diese Liste schon sehr lang geworden und es kommen immer mehrere dazu. D.h. ich muss immer die Tabellenblätter-Namen eintragen. Dieses Marko gibt es in mehreren Ausführungen.
Jetzt zu meiner Frage: Ist es möglich dieses Systematik nur in umgekehrter Weise zu händeln. D.h. Alle Tabellenblätter sollten ausgeblendet werden bis auf "XXX", somit wäre die Liste kürzer.
Oder gibt es andere Vorschläge / Lösungen von Eurer Seite dank eurer Erfahrungen?
Danke im Voraus.
GLG miss18

Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 10:40:58
hary
Hi Miss 18
versuch mal.

Sub ausblenden()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Name  "Tabelle1" Then 'hier Blatt Name welches sichtbar bleiben soll
wks.Visible = xlSheetHidden
End If
Next
End Sub


Gruss Hary

Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 10:51:02
miss18
Hy Hary,
danke für deine Antwort. Es funktioniert sehr gut. Könntest du mir dann noch bitte sagen, was ich tun muss wenn ich mehrere Tabellenblätter eingeblendet lassen will?
So gehts z.B. nicht:

Sub ausblenden()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Name  "Tabelle1", "Tabelle2" Then 'hier Blatt Name welches sichtbar bleiben  _
soll
wks.Visible = xlSheetHidden
End If
Next
End Sub


Danke.
LG miss18

Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 11:07:22
Wolli
Hallo Miss18, so müsste es gehen:
if If wks.Name "Tabelle1" or wks.Name "Tabelle2" or wks.Name "Tabelle3"
Gruß, Wolli
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 11:41:41
miss18
Hallo Wolli
es funktioniert leider nicht so. Es kommt ein Laufzeitfehler 1004
Die Methode "Visible" für das Objekt '_Worksheet' ist fehlgeschlagen.

Sub AusblendenListe()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Name  "PRE" Or wks.Name  "GR" Then 'hier Blatt Name welches sichtbar bleiben  _
soll
wks.Visible = xlSheetHidden
End If
Next
End Sub


Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 11:56:07
David
Hallo namenloser (bitte mal die Forumsregeln bezüglich Nicks lesen),
ich kann dir zwar nicht sagen, warum das "OR-Konstrukt" nicht funzt, aber so sollte es gehen:

Sub AusblendenListe()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Name  "Tabelle1" Then
If wks.Name  "Tabelle2" Then
wks.Visible = xlSheetHidden 'ggf. weiter schachteln, bis alle Blätter erfaßt  _
sind, die sichtbar bleiben sollen
End If
End If
Next
End Sub


Gruß
David

Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 12:08:58
miss18
Danke David (und natürlich auch Hary und Woli).
Jetzt funktioniert es. Vielen vielen Dank.
PS: das mit dem Nick war mir unbekannt. Habs jetzt gelesen und halte mich in der Zukunft daran.
Danke.
LG Denise
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 14:59:44
miss18
Eine kleine Frage noch?
Ist es auch möglich diese Systematik beizubehalten aber statt AUSBLENDEN werden die Tabellenblätter gelöscht?
Danke im Voraus.
GLG Denise
Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 15:03:51
David
ungetestet:
wks.delete
Für evtl. Sicherheitsabfragen diese am Anfang des Codes mit "Application.displayalerts=false" ausschalten und am Ende mit "true" wieder ein.
Allerdings solltest du dir dann wirklich sicher sein, die entsprechenden Blätter löschen zu können!!!
Gruß
David
Anzeige
AW: Alle Tabellenblätter ausblenden - Ausnahmen
30.06.2009 15:17:43
miss18
Getestet:
Funktioniert. Super danke.
Danke ich bin mir im klaren. Diese Funktion wird so genutzt, dass ein neues Dokument erstellt wird von einem Orignal-Dokumen und dann sollte es kein Problem sein. Oder?
LG
;

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
Anzeige

Infobox / Tutorial

Alle Tabellenblätter ausblenden - Ausnahmen


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Klicke im Menü auf Einfügen > Modul.
  4. Kopiere den folgenden VBA-Code in das Modul:
Sub Ausblenden()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        If wks.Name <> "XXX" Then 'Ändere "XXX" in den Namen des Blattes, das sichtbar bleiben soll
            wks.Visible = xlSheetHidden
        End If
    Next
End Sub
  1. Schließe den VBA-Editor.
  2. Führe das Makro aus:
    • Gehe zurück zu Excel und drücke ALT + F8, wähle Ausblenden und klicke auf Ausführen.

Um mehrere Tabellenblätter auszublenden, musst du die Bedingung anpassen. Der folgende Code berücksichtigt mehrere Blätter:

Sub AusblendenMehrere()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        If wks.Name <> "Tabelle1" And wks.Name <> "Tabelle2" Then 'Füge hier weitere Namen hinzu
            wks.Visible = xlSheetHidden
        End If
    Next
End Sub

Häufige Fehler und Lösungen

  • Laufzeitfehler 1004:

    • Dieser Fehler tritt häufig auf, wenn du versuchst, ein Blatt auszublenden, das bereits ausgeblendet ist oder wenn der Blattname falsch geschrieben ist. Überprüfe die Namen der Blätter, die du sichtbar lassen möchtest.
  • Makro funktioniert nicht:

    • Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option.

Alternative Methoden

Eine andere Methode, um alle Tabellenblätter auszublenden, außer einem bestimmten, ist die Verwendung der xlSheetVeryHidden-Eigenschaft. Diese versteckt die Blätter so, dass sie nicht einmal über das Excel-Menü einsehbar sind.

Sub SehrAusblenden()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        If wks.Name <> "XXX" Then
            wks.Visible = xlSheetVeryHidden
        End If
    Next
End Sub

Praktische Beispiele

  1. Alle Tabellenblätter außer "Daten" ausblenden:
Sub AusblendenDaten()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        If wks.Name <> "Daten" Then
            wks.Visible = xlSheetHidden
        End If
    Next
End Sub
  1. Alle Tabellenblätter außer "Bericht" und "Zusammenfassung" ausblenden:
Sub AusblendenBerichtUndZusammenfassung()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        If wks.Name <> "Bericht" And wks.Name <> "Zusammenfassung" Then
            wks.Visible = xlSheetHidden
        End If
    Next
End Sub

Tipps für Profis

  • Schnelle Anpassungen: Wenn du häufig die Blätter, die sichtbar bleiben sollen, änderst, kannst du die Namen in einer Zelle auf dem Arbeitsblatt auflisten und das Makro so anpassen, dass es diese Namen liest.

  • Sicherheit: Wenn du Blätter löschen möchtest, verwende Application.DisplayAlerts = False am Anfang des Codes und setze es am Ende wieder auf True, um Sicherheitsabfragen auszuschalten.


FAQ: Häufige Fragen

1. Wie kann ich alle ausgeblendeten Tabellenblätter wieder einblenden? Um alle Tabellenblätter wieder sichtbar zu machen, kannst du folgenden Code verwenden:

Sub AlleEinblenden()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        wks.Visible = xlSheetVisible
    Next
End Sub

2. Was passiert, wenn ich ein Blatt lösche, das ausgeblendet ist? Wenn du ein ausgeblendetes Blatt löschst, wird es permanent entfernt. Stelle sicher, dass du das richtige Blatt auswählst, bevor du es löscht.

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