Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblatt einblenden, wenn Bedingung erfüllt

Tabellenblatt einblenden, wenn Bedingung erfüllt
13.02.2018 16:19:51
Stefanie
Hallo,
ich weiß, dass es ein entsprechendes Thema schon gab und habe auch lange mit der dort erfolgreich verlaufenden Antwort ausprobiert, aber ich bekomme es trotzdem nicht hin.
Ich habe folgende Vorstellung:
Wenn eine Zelle z.B. c12 nicht leer ist
dann sollen sich die ausgeblendeten Tabellenblätter "Januar Projekt 1", "Februar Projekt 1", "März Projekt 1" einblenden.
Insgesamt gibt es 5 Projekte, zu denen jeweils 12 Tabellenblätter (Januar - Dezember) gehören.
Mit Makros / VBA kenne ich mich gar nicht aus, komme aber mit Formeln, Bedingungen und Verweisen ganz gut zurecht. Das scheint hier aber nicht auszureichen.
Über Hilfe würde ich mich sehr freuen!
Gruß
Steffi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Tabellenblatt einblenden, wenn Bedingung erfüllt
13.02.2018 16:24:09
Hajo_Zi
Hallo Steffi,
C12 eine Eingabe oder Formel?
Formel ist mir zu aufwendig.
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
das geht nur mit VBA ...
13.02.2018 16:27:57
Matthias
Hallo
Als Bsp.
3 Blätter
Eins in der Du die Zelle C12 bedienst. Dort den Code rein
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("C12").Address Then
Worksheets("Januar Projekt 1").Visible = Target  ""
Worksheets("Februar Projekt 1").Visible = Target  ""
End If
End Sub
Gruß Matthias
Anzeige
AW: das geht nur mit VBA ...
14.02.2018 21:31:34
Steffi
Hallo Matthias,
Du konntest mir tatsächlich gut weiterhelfen, auch wenn dein Code so nicht funktioniert hat... habe etwas dran getüftelt und plötzlich hat es geklappt :) Habe das dann auch noch zum Ausblenden, wenn die Zelle leer ist gemacht und das Ein- und Ausblenden auch für Projekt 2 geschrieben. Sind jetzt also 4 Module draus geworden.
Das Einblenden sieht jetzt so aus:
Sub Arbeitsblätter_Projekt_1_ausblenden()
If Range("E14") = "" Then
Sheets("Januar Projekt 1").Visible = False
Sheets("Februar Projekt 1").Visible = False
Sheets("März Projekt 1").Visible = False
Sheets("April Projekt 1").Visible = False
Sheets("Mai Projekt 1").Visible = False
Sheets("Juni Projekt 1").Visible = False
Sheets("Juli Projekt 1").Visible = False
Sheets("August Projekt 1").Visible = False
Sheets("September Projekt 1").Visible = False
Sheets("Oktober Projekt 1").Visible = False
Sheets("November Projekt 1").Visible = False
Sheets("Dezember Projekt 1").Visible = False
Sheets("Januar Projekt 1").Visible = False
End If
End Sub
Damit die Makros automatisch ablaufen, habe ich ein Worksheet Change angelegt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E14"))  "" Then
Call Arbeitsblätter_Projekt_1_einblenden
End If
If Range("E14") = "" Then
Call Arbeitsblätter_Projekt_1_ausblenden
End If
End Sub

Das klappt auch prima bei Projekt 1.
Leider funktionieren jetzt aber die Dropdown-Listen in dem Arbeitsblatt nicht mehr und ich bekomme die Fehlermeldung "Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt"
Warum passiert das? Welche Befehlszeile fehlt?
Und ich bekomme in das Worksheet keine weiteren If eingefügt. Die Autofunktion soll ja nicht nur bei Projekt 1 funktionieren... es gibt 5 Projekte.
Kannst Du mir da helfen?
Oder vielleicht jemand anderes?
Gruß
Steffi
Anzeige
kann nicht nachvollziehen was da nicht geht ...
15.02.2018 18:31:10
Matthias
Hallo Steffi
Zitat
auch wenn dein Code so nicht funktioniert hat
Meine Antwort
Sehe ich nicht so.
Für meine Lösung hatte ich geschrieben
Als Bsp.
3 Blätter
Eins in der Du die Zelle C12 bedienst. Dort den Code rein

So wie in meiner Datei
https://www.herber.de/bbs/user/119844.xlsm
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel: Tabellenblatt einblenden, wenn Bedingung erfüllt


Schritt-für-Schritt-Anleitung

Um ein Excel-Tabellenblatt einblenden zu können, wenn eine bestimmte Bedingung erfüllt ist, musst Du VBA (Visual Basic for Applications) nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Modul hinzufügen:

    • Klicke mit der rechten Maustaste auf die Arbeitsmappe im Projektfenster und wähle Einfügen > Modul.
  3. Code eingeben:

    • Füge folgenden Code in das Modul ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C12")) Is Nothing Then
        If Range("C12").Value <> "" Then
            Worksheets("Januar Projekt 1").Visible = True
            Worksheets("Februar Projekt 1").Visible = True
            Worksheets("März Projekt 1").Visible = True
        Else
            Worksheets("Januar Projekt 1").Visible = False
            Worksheets("Februar Projekt 1").Visible = False
            Worksheets("März Projekt 1").Visible = False
        End If
    End If
End Sub
  1. Speichern und zurück zu Excel:

    • Speichere das VBA-Projekt und schließe den VBA-Editor.
  2. Testen:

    • Trage einen Wert in die Zelle C12 ein und beobachte, wie die entsprechenden Tabellenblätter ein- oder ausgeblendet werden.

Häufige Fehler und Lösungen

  • Fehler: Das Blatt einblenden geht nicht.

    • Stelle sicher, dass der Name des Tabellenblatts genau mit dem im Code übereinstimmt.
  • Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt.

    • Überprüfe, ob die Zelle, die Du überwachen möchtest (z.B. C12), korrekt angegeben ist und ob der Code im richtigen Arbeitsblatt-Modul eingefügt wurde.
  • Dropdown-Listen funktionieren nicht mehr.

    • Das kann passieren, wenn das Worksheet_Change-Ereignis nicht korrekt implementiert ist. Überprüfe die Bedingungen im Code.

Alternative Methoden

Falls Du die Excel-Tabellenblätter manuell einblenden möchtest, kannst Du folgende Schritte durchführen:

  1. Rechtsklick auf das Tabellenblatt:

    • Wähle Einblenden....
  2. Makro für das Einblenden nutzen:

    • Du kannst ein Makro erstellen, das alle ausgeblendeten Blätter auf einmal einblendet:
Sub AlleBlätterEinblenden()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Visible = True
    Next ws
End Sub

Praktische Beispiele

Hier sind einige Beispiele für unterschiedliche Szenarien:

  • Einblenden mehrerer Blätter: Wenn Du mehrere Blätter einblenden möchtest, kannst Du die oben gezeigte Worksheet_Change-Methode anpassen, um z.B. alle 12 Monate eines Projekts zu berücksichtigen.

  • Dynamische Bedingungen: Du kannst die Bedingung so anpassen, dass sie auf andere Zellen oder Werte reagiert.


Tipps für Profis

  • Verwendung von Variablen: Verwende Variablen, um den Code lesbarer und flexibler zu gestalten. Statt die Blattnamen direkt im Code zu verwenden, speichere sie in einer Variable.

  • Debugging: Nutze Debug.Print, um den Wert von Variablen während der Ausführung zu überprüfen. So kannst Du Probleme schneller identifizieren.

  • Schnelle Tastenkombination: Du kannst auch eine Tastenkombination für deine Makros festlegen, um das Einblenden von Blättern schneller zu erledigen.


FAQ: Häufige Fragen

1. Wie kann ich ein ausgeblendetes Blatt einblenden? Um ein ausgeblendetes Blatt einblenden zu können, musst Du in den VBA-Editor gehen und den entsprechenden Code verwenden oder es manuell über einen Rechtsklick machen.

2. Kann ich die Sichtbarkeit eines Blattes aufgrund von mehreren Bedingungen steuern? Ja, Du kannst weitere If-Bedingungen in deinen VBA-Code einfügen, um die Sichtbarkeit der Blätter basierend auf verschiedenen Kriterien zu steuern.

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