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

Tabellenblatt Visible Eigenschaft bei Dateiöffnung

Forumthread: Tabellenblatt Visible Eigenschaft bei Dateiöffnung

Tabellenblatt Visible Eigenschaft bei Dateiöffnung
MG_Learning
Hallo,
ich hätte eine Frage zu Tabellenblättern und deren Eigenschaft Visible.
Ich steuere das EIn-/Ausblenden von Arbeitsblättern über 2 Command Button!
Unter Worksheet open möchte ich sie generell bei Dateiöffnung erstmal ausblenden!
Wenn ich aber die Datei öffne dann bringt er mir die Fehlermeldung:
Laufzeitfehler "1004"
"Die Visible-Eigenschaft des Worksheet Objektes kann nicht festgelegt werden!"
Hinweis dazu: ich habe unter "Extras" - "Schutz" - "Arbeitsmappe schützen" die Struktur mit Passwort geschützt, damit keiner übers Menü die Arbeitsblätter einblenden kann!
Wie kann ich den Fehler oben umgehen bzw. aufheben!
Danke im Voraus
Martin
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblatt Visible Eigenschaft bei Dateiöffnung
21.12.2009 10:58:01
werni
Hi Martin
Eine Tabelle muss immer sichtbar sein.
Gruss Werner
AW: Tabellenblatt Visible Eigenschaft bei Dateiöffnung
21.12.2009 11:08:00
MG_Learning
Hallo Werner!
Ich blende drei von vieren aus! eins ist immer sichtbar!
Es muss an etwas anderem liegen!
Gruß Martin
AW: Workbook_Open
21.12.2009 11:29:38
dieter(drummer)
Hi Martin,
hier ein Beispiel, dass beim öffnen der Mappe, die Tabelle2 und Tabelle3 ausblendet:
  • 
    Private Sub Workbook_Open()
    Range("B34").Select
    Sheets(Array("Tabelle2", "Tabelle3")).Select
    Sheets("Tabelle2").Activate
    ActiveWindow.SelectedSheets.Visible = False
    Range("A1").Select 'Tabelle 1
    End Sub
    


  • Kannst es evtl. auf Button anpassen. EINBLENDEN = ...Visible=True
    Gruß
    Dieter(drummer)
    Anzeige
    AW: Workbook_Open
    21.12.2009 13:16:17
    MG_Learning
    Hallo Dieter,
    Code ist eingesetzt und angepasst!
    Leider bringt er mir auch hier eine Fehlermeldung:
    Ebenfalls Laufzeitfehler 1004:
    "Die Select-Methode des Sheets-Objektes konnte nicht ausgeführt werden.!"
    In Bezug auf diese Zeile:
    Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
    Tabellennamen stimmen!
    Danke
    Martin
    Anzeige
    AW: Workbook_Open
    21.12.2009 13:37:09
    dieter(drummer)
    Hi Martin,
    EIN Tabellenblatt MUSS immer eingeblendet bleiben. Nenn mir mal ALLE Tabellenblattnamen der gesamten Mappe und die, die AUSGEBLENDET werden sollen, oder lade die Mappe mal hoch.
    Gruß
    Dieter(Drummer)
    AW: Musterdatei anbei ...
    21.12.2009 14:03:36
    dieter(drummer)
    Hi Martin,
    anbei mal ein Muster hochgeladen, evtl. hilft's:
    https://www.herber.de/bbs/user/66743.xls
    Gruß
    Dieter(Drummer)
    Anzeige
    AW: unprotect
    21.12.2009 14:59:36
    hary
    Moin
    Ihr muesst erstmal den Schutz aufheben und anschliessend wieder setzen. Fuer beide Buttons!!
    
    ActiveWorkbook.unprotect
    'hier dein Code
    ActiveWorkbook.protect
    

    @ Dieter: Mach mal in Deine Mappe den Mappenschutz(Martin hat den Schutz drin) rein. Da kommt auch der Fehler.
    Gruss hary
    Anzeige
    AW: Hast natürlich Recht ...
    21.12.2009 15:31:12
    dieter(drummer)
    Danke Hary,
    ich konnte nicht wissen, dass dei Mappe geschützt ist. Ich hatte nur die beiden auszublendenden Tabellenblätter geschhütz und da gings problemlos. Wieder ein Tag mit Lerneffekt.
    Gruß
    Dieter(Drummer)
    AW: Hast natürlich Recht ...
    21.12.2009 15:51:52
    hary
    Hallo Dieter
    doch, im kleingedruckten ;-) schrieb Martin:
    "Hinweis dazu: ich habe unter "Extras" - "Schutz" - "Arbeitsmappe schützen" die Struktur mit Passwort geschützt, damit keiner übers Menü die Arbeitsblätter einblenden kann!"
    Gruss hary
    Anzeige
    AW: Wer lesen kann ...
    21.12.2009 15:59:32
    dieter(drummer)
    ... ist immer im Vorteil ;-)
    Werbe mich bemühen, die Fragen genauer zu lesen. DANKE für Hinweis.
    Gruß
    Dieter(Drummer)
    AW: Wer lesen kann ...
    21.12.2009 16:25:58
    MG_Learning
    Hallo Werni, Dieter und Hary!
    Vielen Dank für eure Unterstützung, mit dem finalen Tip von Hary war es möglich jetzt
    die Arbeitsblätter ein- bzw. auszublenden, trotz aktiviertem Schutz. Allerdings war das mit der
    Select-funktion nicht möglich, aber mit einer For-Schleife. Code ist inklusive Passwortsetzung.
    Finaler Code ist:
    Private Sub Workbook_Open()
    Dim a As Byte
    ActiveWorkbook.Unprotect "Test"
    For a = 2 To Sheets.Count
    Sheets(a).Visible = False
    Next a
    ActiveSheet.cmdAus.Enabled = False (zum deaktivieren des Commandbuttons)
    ActiveSheet.cmdEin.Enabled = True  (zum aktivieren des Commandbuttons)
    ActiveWorkbook.Protect "Test"
    End Sub
    

    Danke an alle für Zeit und Aufwand!
    Gruß
    Martin
    Anzeige
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    Umgang mit der Visible-Eigenschaft von Arbeitsblättern in Excel


    Schritt-für-Schritt-Anleitung

    1. Workbook_Open-Ereignis nutzen: Um die Sichtbarkeit von Arbeitsblättern beim Öffnen der Datei zu steuern, füge den folgenden Code in das ThisWorkbook-Modul ein:

      Private Sub Workbook_Open()
          ActiveWorkbook.Unprotect "DeinPasswort"
          For a = 2 To Sheets.Count
              Sheets(a).Visible = False
          Next a
          ActiveWorkbook.Protect "DeinPasswort"
      End Sub
    2. Sichtbarkeit der Arbeitsblätter anpassen: In der Schleife kannst du die Sichtbarkeit der Arbeitsblätter festlegen. Stelle sicher, dass mindestens ein Arbeitsblatt sichtbar bleibt, da Excel die visible-eigenschaft des worksheet-objektes kann nicht festgelegt werden, wenn alle Arbeitsblätter ausgeblendet sind.

    3. Schutz der Arbeitsmappe: Wenn die Struktur deiner Arbeitsmappe geschützt ist, musst du den Schutz vor dem Ändern der Sichtbarkeit aufheben und danach wieder aktivieren.


    Häufige Fehler und Lösungen

    • Laufzeitfehler "1004": Die Fehlermeldung "Die Visible-Eigenschaft des Worksheet Objektes kann nicht festgelegt werden" tritt auf, wenn du versuchst, alle Arbeitsblätter auszublenden. Stelle sicher, dass mindestens ein Arbeitsblatt sichtbar bleibt.

    • Select-Methode nicht ausführbar: Wenn du die Select-Methode verwendest, kann es zu Problemen kommen, wenn die Arbeitsblätter geschützt sind. Verwende stattdessen direkte Zuweisungen wie Sheets("Tabelle1").Visible = False.


    Alternative Methoden

    • Verwendung von Command Buttons: Du kannst auch Command Buttons verwenden, um Arbeitsblätter ein- oder auszublenden. Zum Beispiel:

      Sub Einblenden()
          Sheets("Tabelle2").Visible = True
      End Sub
      
      Sub Ausblenden()
          Sheets("Tabelle2").Visible = False
      End Sub
    • Mit der Visible-Eigenschaft arbeiten: Statt ActiveWindow.SelectedSheets.Visible = False zu verwenden, kannst du direkt die Visible-Eigenschaft der einzelnen Blätter setzen.


    Praktische Beispiele

    • Alle Blätter außer einem ausblenden:

      Private Sub Workbook_Open()
          Dim a As Byte
          ActiveWorkbook.Unprotect "Test"
          For a = 2 To Sheets.Count
              Sheets(a).Visible = False
          Next a
          ActiveWorkbook.Protect "Test"
      End Sub
    • Einzelnes Blatt sichtbar machen:

      Sub SichtbarMachen()
          Sheets("Tabelle1").Visible = True
      End Sub

    Tipps für Profis

    • Verwende die Visible-Eigenschaft: Bei der Arbeit mit VBA solltest du die visible-Eigenschaft verwenden, um die Sichtbarkeit von Blättern zu steuern. Achte darauf, dass mindestens ein Blatt sichtbar bleibt, um Fehler zu vermeiden.

    • Effiziente Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um Laufzeitfehler abzufangen, die auftreten können, wenn du versuchst, die Sichtbarkeit von geschützten Blättern zu ändern.


    FAQ: Häufige Fragen

    1. Warum kann ich die Sichtbarkeit eines Arbeitsblatts nicht ändern? Wenn du die Fehlermeldung "Die Visible-Eigenschaft des Worksheet Objektes kann nicht festgelegt werden" erhältst, liegt das oft daran, dass alle Blätter ausgeblendet sind. Stelle sicher, dass mindestens ein Blatt sichtbar bleibt.

    2. Wie kann ich alle Arbeitsblätter außer einem bestimmten ausblenden? Du kannst eine Schleife verwenden, um die Sichtbarkeit aller Blätter zu ändern, indem du die Visible-Eigenschaft entsprechend setzt. Achte darauf, das gewünschte Blatt nicht auszublenden.

    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