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

Forumthread: Nur bestimmte Tabellenblätter ausblenden.

Nur bestimmte Tabellenblätter ausblenden.
Josef_T
Guten Morgen zusammen,
habe ein Problem mit dem aus und einblenden von bestimmten Tabellenblättern, dass ich leider nicht gelöst bekomme und deshalb mal wieder eure Hilfe brauche.
Habe hier mein Prob noch mal beschrieben: https://www.herber.de/bbs/user/66763.xls
Danke schon mal
Gruß
Josef
Anzeige
AW: Nur bestimmte Tabellenblätter ausblenden.
22.12.2009 10:10:24
Reinhard
Hallo Josef,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address  "$A$1" Then Exit Sub
If UCase(Target.Value) = "X" Then Call SheetsHidden
If UCase(Target.Value) = "" Then Call SheetsVisible
End Sub
Sub SheetsHidden()
Dim intTab As Integer
For intTab = ThisWorkbook.Worksheets.Count To 4 Step -1
Worksheets(intTab).Visible = xlVeryHidden
Next wks
End Sub

Gruß
Reinhard
Anzeige
AW: Nur bestimmte Tabellenblätter ausblenden.
22.12.2009 11:51:57
Josef_T
Hallo Reinhard,
Danke erst mal für Deine Hilfe.
Leider funktioniert Deine Lösung nicht, weil, bezogen auf das Makro "Sub SheetsHidden" die Fehlermeldung erscheint: Fehler beim Kompilieren "Ungültiger Verweis auf Next-Steuervariable"
Würdest Du bitte noch mal das Makro prüfen?
Danke
Josef
Anzeige
AW: Nur bestimmte Tabellenblätter ausblenden.
22.12.2009 11:55:42
Josef_T
Hallo Tino,
Dein Makro funktioniert einwandfrei! (Wie immer!)
Danke Dir
Gruss
Josef
AW: Nur bestimmte Tabellenblätter ausblenden.
22.12.2009 16:08:27
Josef_T
Hallo zusammen.
Tino hat mir ein Modul geschrieben, mit dem ich bestimmte Tabellenblätter aus und einblenden kann.
Funktioniert auch alles einwandfrei, solange die TB "Tabelle1","Tabelle2", usw. heissen.
Die Blattnamen in meinem Original, heissen aber "Stunden", "Einsatz","Personal", usw. dafür sind natürlich keine Variablen deklariert und ich weiß nicht wie ich das machen muß.
Kann mir bitte helfen, den Code funktionfähig zu bekommen?
Danke schon mal
Gruß
Josef
Anzeige
AW: Nur bestimmte Tabellenblätter ausblenden.
22.12.2009 16:38:40
Tino
Hallo,
wenn Deine Tabellen an unterschiedlichen Stellen stehen, kann man es so machen.
Im Code habe ich die Tabellen definiert die nicht ein oder ausgeblendet werden sollen.
https://www.herber.de/bbs/user/66779.xls
Gruß Tino
Anzeige
AW: Das war die Lösung Tino!
22.12.2009 17:36:12
Josef_T
Hallo Tino,
Danke Tino, Optimaler gehts nimmer.
Kann mit diesem Code, endlich noch weitere Mappen aufpeppen.
Ich wünsche Dir ein frohes Weihnachtsfest und eine Guten Rutsch ins Neue Jahr.
Gruß
Josef
geht schon noch etwas besser, ...
22.12.2009 20:00:19
Tino
Hallo,
wenn man anstatt den Tabellennamen den Codenamen verwendet,
dann kann die Tabelle auch ruhig umbenannt werden und das Makro funktioniert immer noch.
(dies würde ich auch bei anderen Makros empfehlen)
https://www.herber.de/bbs/user/66783.xls
Den CodeNamen der Tabelle findest Du im VBA im Projektexplorer. (außerhalb der Klammer)
Userbild
Gruß Tino
Anzeige
AW: geht schon noch etwas besser, ...
22.12.2009 21:58:37
Josef_T
Hallo Tino,
was Du jetzt gezaubert hast, soll wohl ein Weihnachtsgeschenk für alle um Ratsuchende User
sein?! Es ist Super!
Tino, damit hast Du uns Fragern, einen extremen Schub in Richtung Vereinfachung beschert.
Nochmals vielen Dank
Gruß und Gute Nacht
Josef
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblätter in Excel gezielt ausblenden und einblenden


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Arbeitsmappe, in der Du die Tabellenblätter ausblenden möchtest.

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

  3. Füge ein neues Modul hinzu:

    • Klicke auf "Einfügen" und wähle "Modul".
  4. Kopiere und füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address <> "$A$1" Then Exit Sub
       If UCase(Target.Value) = "X" Then Call SheetsHidden
       If UCase(Target.Value) = "" Then Call SheetsVisible
    End Sub
    
    Sub SheetsHidden()
       Dim intTab As Integer
       For intTab = ThisWorkbook.Worksheets.Count To 1 Step -1
           If Worksheets(intTab).Name <> "Tabelle1" And Worksheets(intTab).Name <> "Tabelle2" Then
               Worksheets(intTab).Visible = xlVeryHidden
           End If
       Next intTab
    End Sub
    
    Sub SheetsVisible()
       Dim intTab As Integer
       For intTab = 1 To ThisWorkbook.Worksheets.Count
           Worksheets(intTab).Visible = xlSheetVisible
       Next intTab
    End Sub
  5. Ändere die Blattnamen in der SheetsHidden-Subroutine, um die spezifischen Blätter auszuwählen, die Du ausblenden möchtest.

  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Teste das Makro, indem Du in Zelle A1 ein "X" eingibst, um die Blätter auszublenden.


Häufige Fehler und Lösungen

  • Fehler beim Kompilieren: "Ungültiger Verweis auf Next-Steuervariable"

    • Stelle sicher, dass der Code korrekt formatiert ist und jede Schleife mit einem passenden Next-Befehl endet.
  • Tabellenblätter werden nicht ausgeblendet

    • Überprüfe, ob Du die richtigen Blattnamen im Code angegeben hast.
  • Excel Tabelle ausgeblendet wieder einblenden funktioniert nicht

    • Stelle sicher, dass Du das korrekte Makro (SheetsVisible) aufrufst.

Alternative Methoden

Eine einfache Möglichkeit, mehrere Tabellenblätter einblenden oder ausblenden, ist die Verwendung der rechten Maustaste:

  1. Rechtsklick auf einen Tab und wähle „Ausblenden“.
  2. Um ausgeblendete Blätter wieder sichtbar zu machen, klicke mit der rechten Maustaste auf einen Tab und wähle „Einblenden“.

Diese Methode ist nützlich, wenn Du nicht mit VBA arbeiten möchtest oder eine schnelle Lösung benötigst.


Praktische Beispiele

  1. Beispiel 1: Ein bestimmtes Blatt ausblenden

    • Verwende den Code, um das Blatt "Personal" auszublenden, indem Du es in die If-Bedingung der SheetsHidden-Sub einfügst.
  2. Beispiel 2: Mehrere Blätter einblenden

    • Stelle sicher, dass alle ausgeblendeten Blätter in der SheetsVisible-Subroutine auf xlSheetVisible gesetzt werden.
  3. Beispiel 3: Umbruchvorschau ausblenden

    • Um die Umbruchvorschau auszublenden, gehe zu "Seitenlayout" und deaktiviere die Option „Umbruchvorschau“.

Tipps für Profis

  • Nutze Code-Namen anstelle der Blattnamen im VBA-Code. Damit bleibt Dein Makro funktionsfähig, auch wenn Du die Blattnamen änderst.
  • Um die Leistung zu optimieren, kannst Du Fehlerbehandlungen in Deinen Code einfügen, um unerwartete Probleme zu vermeiden.
On Error Resume Next
' Code hier
On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter in Excel gleichzeitig einblenden? Du kannst das Makro SheetsVisible verwenden, um alle Tabellenblätter gleichzeitig sichtbar zu machen.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der gegebene VBA-Code sollte in den meisten modernen Excel-Versionen (z.B. Excel 2016, 2019, und Office 365) funktionieren.

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