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

Makro Für Blatt Einblenden resp. Ausblenden

Forumthread: Makro Für Blatt Einblenden resp. Ausblenden

Makro Für Blatt Einblenden resp. Ausblenden
18.05.2004 08:44:38
Joerg
Guten Tag,
Ich möchte durch eine Wenn-Abfrage in einer Zelle Ein Blatt Ein- resp. Ausblenden.
Wechselt der Wert in der Zelle von 0 auf einen Wert <>0 soll das Blatt eingeblended werden.
Wechselt der Wert zurück auf 0, soll das Blatt ausgeblendet werden.
Kann mit jemenad helfen?
Besten Dank im Voraus
Joerg
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Für Blatt Einblenden resp. Ausblenden
18.05.2004 08:53:52
Oberschlumpf
Hi Joerg
Versuch es mal so:

Sub EinAus()
If Var = 0 then
Workbook("DeineExcelTabelle").Sheets("DeinTabblatt").Visible = False
Else
Workbook("DeineExcelTabelle").Sheets("DeinTabblatt").Visible = True
End If
End Sub

Für "DeineExcelTabelle" musst Du den Namen der Exceltabelle oder als Zahl den Index der Excel-Tabelle eintragen, die gemeint ist.
Für "DeinTabblatt" musst Du den Namen oder als Zahl den Index des Tabelleblattes eintragen, welches ein- bzw. ausgeblendet werden soll.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Makro Für Blatt Einblenden resp. Ausblenden
18.05.2004 16:12:57
Joerg
Liber Thorsten,
Recht herzlichen Dank für deinen Vorschlag.
leider komme ich damit noch nicht zurecht.
Mir scheint dass ich im Tabellenblatt eine Abfrage definieren muss.
Diese Abfrage sollte dann die Prozedur aufrufen, oder?
Liebe Grüsse
Jörg
AW: Makro Für Blatt Einblenden resp. Ausblenden
18.05.2004 17:22:47
Oberschlumpf
Hi Jörg
Verrate doch mal bitte, um welche Zelle in welchem Tabellenblatt es sich handelt.
Und Du weißt auch, dass Du diese Zelle von einem anderen Tabellenblatt mit Werten <> 0 füllen musst, wenn das Tabellenblatt, und dann eben die Zelle, um die es geht, ausgeblendet ist.
Ciao
Thorsten
Anzeige
AW: Makro Für Blatt Einblenden resp. Ausblenden
20.05.2004 10:43:34
Joerg
Hallo Thorsten,
Recht herzlichen Dank fürr dein Interesse.
Habe den wesentlichen Teil meines Arbeitblattes auf den Server geladen.
Celle C11 soll Blatt 00 einblenden oder ausblenden.
Celle C12 Blatt 01
Mit freundlichem Gruss
Jörg
AW: Makro Für Blatt Einblenden resp. Ausblenden
20.05.2004 13:56:09
Martin Beck
Hallo Jörg,
in C11 und C12 stehen doch gar keine Wenn-Formeln. Welche Wenn-Formeln willst Du denn einsetzen? Evtl. könnte man das Worksheet_Calculate-Ereignis nutzen.
Gruß
Martin Beck
Anzeige
AW: Makro Für Blatt Einblenden resp. Ausblenden
20.05.2004 20:09:47
Joerg
Hallo Thorsten,
eben diese Formeln suche ich noch. Was du mir zuerst empfohlen hast funktioniert nicht.
Gruss
Jörg
AW: Makro Für Blatt Einblenden resp. Ausblenden
20.05.2004 21:19:15
Oberschlumpf
Hallo Joerg
Zuerst:
Bitte lies bei den Antworten AUCH die Namen der Ersteller dieser Antworten.
Denn...
...der Hinweis, dass in C11 und C12 noch gar keine Wenn-Formel steht, kommt NICHT von THORSTEN sondern von MARTIN.
nur mal so anmerk...
Zu Deiner Frage:
Lad diese Datei runter.
https://www.herber.de/bbs/user/6570.xls
Der Code steht an der richtigen Stelle und funktioniert nun auch :)
Sobald in C11 0 eingetragen wurde, wird das Blatt 00 ausgeblendet.
Ist der Wert größer als 0, wird das Blatt 00 wieder eingeblendet.
Gleiches geschieht in Zelle C12 mit Blatt 01.
Wenn Du aber tatsächlich möchtest, dass eines der Blätter NUR wieder eingeblendet werden soll, wenn der jeweilige Wert 1 aber NICHT größer als 1 ist, dann musst Du den vollständigen Code durch diesen ersetzen:
If Target.Address = "$C$11" Then
If Target.Value = 0 Then
Sheets("00").Visible = False
End If
End If
If Target.Address = "$C$11" Then
If Target.Value = 1 Then
Sheets("00").Visible = True
End If
End If
If Target.Address = "$C$12" Then
If Target.Value = 0 Then
Sheets("01").Visible = False
End If
End If
If Target.Address = "$C$12" Then
If Target.Value = 1 Then
Sheets("01").Visible = True
End If
End If
Na, welche Version ist die Richtige? :-)
Ciao
Thorsten
Anzeige
AW: Makro Für Blatt Einblenden resp. Ausblenden
21.05.2004 15:34:24
Joerg
Lieber Thorsten,
Ich bitte um Entschuldigung wegen der Verwechslung. Ich war in Eile.
Vorest mal recht herzlichen Dank für die Hilfe.
Ich muss es noch ausprobieren und genau anschauen.
Mit freundlichem Gruss
Jörg
AW: Makro Für Blatt Einblenden resp. Ausblenden
20.05.2004 10:49:35
Joerg
Hier ist die Datei.

Die Datei https://www.herber.de/bbs/user/6558.xls wurde aus Datenschutzgründen gelöscht

Gruss
Jörg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro für das Ein- und Ausblenden von Tabellenblättern in Excel


Schritt-für-Schritt-Anleitung

  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 im Projektfenster mit der rechten Maustaste auf deine Arbeitsmappe und wähle Einfügen > Modul.
  3. Gib den Code ein:

    • Füge den folgenden VBA-Code in das Modul ein, um ein Tabellenblatt basierend auf dem Wert in einer Zelle ein- oder auszublenden:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = "$C$11" Then
           If Target.Value = 0 Then
               Sheets("00").Visible = False
           ElseIf Target.Value = 1 Then
               Sheets("00").Visible = True
           End If
       End If
    
       If Target.Address = "$C$12" Then
           If Target.Value = 0 Then
               Sheets("01").Visible = False
           ElseIf Target.Value = 1 Then
               Sheets("01").Visible = True
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor:

    • Speichere deine Änderungen und schließe den Editor, um zurück zu Excel zu gelangen.
  5. Teste das Makro:

    • Ändere die Werte in den Zellen C11 und C12, um zu sehen, ob die entsprechenden Tabellenblätter ein- oder ausgeblendet werden.

Häufige Fehler und Lösungen

  • Fehler: Das Tabellenblatt wird nicht eingeblendet.

    • Lösung: Stelle sicher, dass die Werte in den Zellen korrekt eingegeben sind (0 oder 1). Überprüfe auch die Schreibweise der Blattnamen im Code.
  • Fehler: Der VBA-Code wird nicht ausgeführt.

    • Lösung: Der Code muss im richtigen Arbeitsblattmodul platziert werden, nicht im allgemeinen Modul.
  • Fehler: Das Arbeitsblatt bleibt ausgeblendet, auch wenn der Wert geändert wird.

    • Lösung: Überprüfe, ob das Worksheet_Change-Ereignis korrekt implementiert ist und dass die Zellen C11 und C12 tatsächlich geändert werden.

Alternative Methoden

  • Verwendung von Excel-Formeln: Anstatt VBA zu verwenden, kannst Du auch mit bedingter Formatierung arbeiten, um visuelle Hinweise zu geben, aber das Ein- und Ausblenden von Tabellenblättern ist mit VBA effektiver.

  • Button zur Ausführung des Makros: Du kannst einen Button in Excel einfügen, der das Makro ausführt, anstatt auf die Zellen zu reagieren.


Praktische Beispiele

  1. Einblenden eines Blattes bei spezifischem Wert:

    • Wenn in C11 der Wert 1 eingegeben wird, wird das Blatt "00" sichtbar, andernfalls bleibt es ausgeblendet.
  2. Verstecken eines Blattes:

    • Damit das Blatt "01" nur sichtbar ist, wenn der Wert in C12 1 beträgt, musst Du die Logik entsprechend anpassen.

Tipps für Profis

  • Versteckte Blätter: Wenn Du ein Blatt sehr versteckt machen möchtest, kannst Du die Eigenschaft Visible auf xlSheetVeryHidden setzen. Das Blatt ist dann nicht mehr im Tab-Menü sichtbar.

    Sheets("00").Visible = xlSheetVeryHidden
  • Fehlerbehandlung: Implementiere Fehlerbehandlung im VBA-Code, um unerwartete Fehler besser zu handhaben.


FAQ: Häufige Fragen

1. Wie kann ich ein ausgeblendetes Blatt wieder sichtbar machen? Um ein ausgeblendetes Blatt wieder einzublenden, kannst Du den folgenden Befehl verwenden:

Sheets("00").Visible = True

2. Was ist der Unterschied zwischen xlSheetHidden und xlSheetVeryHidden? xlSheetHidden blendet das Blatt aus, ist jedoch über das Excel-Menü wieder einblendbar. xlSheetVeryHidden kann nur über VBA wieder eingeblendet werden.

3. Kann ich mehrere Blätter gleichzeitig ein- oder ausblenden? Ja, Du kannst die Logik im VBA-Code erweitern, um mehrere Blätter gleichzeitig zu bearbeiten, indem Du die entsprechenden Bedingungen hinzufügst.

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