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

Die visible Eigenschaft kann nicht fest

Forumthread: Die visible Eigenschaft kann nicht fest

Die visible Eigenschaft kann nicht fest
30.04.2020 12:56:12
Rene
Guten Tag,
ich bin neu hier im Forum und hoffe das ihr mir helfen könnt.
In meinem Programm mit über 40 Arbeitsmappen wollte ich gerne 2 neue Arbeitsmappen erstellen.
Doch wenn ich nur eine neue arbeitsmappe erstelle wird mir der Fehler ( die visible Eigenschaft kann nicht festgelegt werden) angezeigt.
an dem Blattschutz kann es nicht liegen der ist nämlich nicht eingestellt das habe ich schon nachgeschaut.
---------------------------------------------
For i = 3 To Sheets.Count
Sheets(i).Visible = False
Next
-----------------------------------------------
Bei dieser Code Zeile stürzt mir mein Programm ab mit dem Oben genannten Fehler.
Ich hab mittlerweile echt keine Ahnung mehr wo der Fehler liegt.
Vielleicht ist es auch ein sehr einfacher Fehler doch ich finde ihn nicht.
Vielen Dank und viele Grüße
Rene
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
min. 1 Blatt muss sichtbar bleiben
30.04.2020 13:02:09
Matthias
Hallo,
wieviele Register hast Du denn?
evtl. sind schon Blätter ausgeblendet deren Blattindex kleine 3 ist
und nun willst Du die nächsten 3 ausblenden.
1 Blatt muss aber immer sichtbar bleiben!
Gruß Matthias
AW: min. 1 Blatt muss sichtbar bleiben
30.04.2020 13:13:47
Rene
Hi Matthias,
Das immer eine Mappe sichtbar sein muss weiß nicht. Danke.
Wenn ich die 3 zb in eine 1 ändere passiert das selbe.
Wenn ich eine neue Mappe erstelle erzeugt mir Excel auch eine Tabelle36 die liegt dann nicht am Ende sondern mittendrin aber ich denke mal das dort einfach ein Platz frei ist und er die dann dort erstellt.
Ich gehe mal davon aus das dort mal eine Tabelle saß die dann entfernt wurde.
Anzeige
AW: Die visible Eigenschaft kann nicht fest
30.04.2020 13:04:58
Werner
Hallo,
kann es denn sein, dass bei dir die Blätter 1 und 2 bereits ausgeblendet sind?
Dann versuchtst du nämlich mit deinem Code ab Blatt 3 alle weiteren Blätter auszublenden. Da aber Blatt 1 und 2 bereits ausgeblendet sind, würdest du alle Blätter ausblenden.
Das geht aber nicht, weil mindestens ein Blatt eingeblendet sein muss. Und das führt zu deinem angesprochenen Fehler.
Gruß Werner
Anzeige
AW: Die visible Eigenschaft kann nicht fest
30.04.2020 13:10:34
Daniel
Hi
Eine Fehlermöglichkeiten wäre, dass die Sheets 1+2 ebenfalls ausgeblendet sind und dann wären alle Sheets ausgeblendet und das ist nicht zulässig, weil mindestens ein Sheet sichtbar sein muss.
Das könntest du dadurch beheben, dass du vor der Schleife eines der beiden Sheets einblendest:
Sheets(1).Visible = xlsheetvisible
Noch ein Hinweis:
Die .Visible-Eingenschaft der Sheets ist nicht vom Typ Boolean wie normalerweise üblich, weil es drei Zustände gibt:
1. sichtbar
2. unsichtbar, kann vom Anwender aber eingeblendet werden
3. unsichtbar, kann nur über VBA eingeblendet werden.
Das ganze ist vercodet über die Zahlenwerte -1, 0 und 2, oder die Verwendung der entsprechenden Systemkonstanten, damit man sich nicht die Zahlen merken muss.
True/False funktioniert aber, weil VBA ein True bei bedarf in -1 und ein False in 0 wandelt.
Gruß Daniel
Anzeige
AW: Die visible Eigenschaft kann nicht fest
30.04.2020 13:20:28
Rene
Hi Daniel,
Danke für deine Antwort.
Mit dem Befehl stürzt es schon mal nicht mehr ab vielen Dank.
Jetzt muss ich das nur noch so anpassen. Das es auf das gesamte funktioniert.
Komischer weise ist dann doch der Fehler da, dass kein Blatt mehr geöffnet ist dann.
Aber komisch das es vorher funktioniert hat aber dann nicht mehr wenn ich neue Blätter einfügen möchte.
Gruß
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Fehlerbehebung: Die visible Eigenschaft in Excel


Schritt-für-Schritt-Anleitung

Wenn du beim Arbeiten mit Excel und VBA auf den Fehler stößt, dass „die visible Eigenschaft kann nicht festgelegt werden“, kannst du folgende Schritte unternehmen:

  1. Überprüfe die Anzahl der sichtbaren Blätter: Stelle sicher, dass mindestens ein Blatt in deiner Arbeitsmappe sichtbar ist. Excel erlaubt es nicht, alle Blätter auszublenden.

  2. Code anpassen: Wenn du eine Schleife verwendest, um Blätter auszublenden, beginne bei einem Blatt, das sicher sichtbar ist. Ein Beispiel könnte so aussehen:

    Sheets(1).Visible = xlSheetVisible ' Stelle sicher, dass das erste Blatt sichtbar ist
    For i = 3 To Sheets.Count
       Sheets(i).Visible = False
    Next i
  3. Blätter einblenden: Wenn du ein Blatt ausblendest, das bereits die Sichtbarkeit verloren hat, kann dies ebenfalls zu Fehlern führen. Achte darauf, dass du Blätter nur dann ausblendest, wenn noch andere sichtbar sind.


Häufige Fehler und Lösungen

  1. Alle Blätter sind ausgeblendet: Wenn du versuchst, mehrere Blätter auszublenden und bereits zwei oder mehr ausgeblendet sind, führt das zu dem genannten Fehler. Stelle sicher, dass mindestens ein Blatt sichtbar bleibt.

  2. Falsche Indizes in der Schleife: Wenn du mit Indizes arbeitest, die auf bereits ausgeblendete Blätter verweisen, könnte das deinen Code zum Absturz bringen. Überprüfe die Indizes in deiner Schleife.

  3. Verwendung der richtigen Konstanten: Denke daran, dass die visible-Eigenschaft nicht nur Boolean-Werte akzeptiert. Hier sind die relevanten Werte:

    • xlSheetVisible (1) - sichtbar
    • xlSheetHidden (0) - unsichtbar, kann eingeblendet werden
    • xlSheetVeryHidden (2) - unsichtbar, kann nur über VBA eingeblendet werden

Alternative Methoden

Eine Alternative zur Schleife könnte die Verwendung von Application.DisplayAlerts sein, um Benutzerwarnungen zu unterdrücken, während du die Sichtbarkeit der Blätter änderst.

Application.DisplayAlerts = False
' Hier dein Code zum Ausblenden der Blätter
Application.DisplayAlerts = True

Das könnte die Benutzererfahrung verbessern, insbesondere wenn du viele Blätter bearbeitest.


Praktische Beispiele

Hier sind einige nützliche Beispiele zur Verwendung der visible-Eigenschaft:

  1. Einzelnes Blatt ausblenden:

    Sheets("Tabelle1").Visible = xlSheetHidden
  2. Alle Blätter außer einem bestimmten ausblenden:

    For i = 1 To Sheets.Count
       If Sheets(i).Name <> "Tabelle1" Then
           Sheets(i).Visible = xlSheetHidden
       End If
    Next i

Diese Beispiele helfen dir, die Sichtbarkeit von Blättern effizient zu steuern.


Tipps für Profis

  • Nutze benannte Konstanten: Anstelle von Zahlen wie 0 oder 2 ist es ratsam, die benannten Konstanten wie xlSheetVisible zu verwenden. Das erleichtert das Verständnis des Codes und reduziert Fehler.

  • Debugging: Verwende Debug.Print oder MsgBox, um die Sichtbarkeit von Blättern während der Ausführung zu überprüfen. Das kann dir helfen, den genauen Punkt zu finden, an dem der Fehler auftritt.

  • Vermeide globale Änderungen: Statt alle Blätter auf einmal zu ändern, arbeite lieber schrittweise, um unerwünschte Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Warum kann ich die visible-Eigenschaft des Worksheet-Objektes nicht festlegen? Das passiert oft, wenn du versuchst, alle Blätter in einer Arbeitsmappe auszublenden. Stelle sicher, dass mindestens ein Blatt sichtbar bleibt.

2. Was sind die Werte für die visible-Eigenschaft? Die Werte sind: xlSheetVisible für sichtbar, xlSheetHidden für unsichtbar, aber kann eingeblendet werden, und xlSheetVeryHidden für unsichtbar, kann nur über VBA eingeblendet werden.

3. Wie kann ich sicherstellen, dass ich nicht versehentlich alle Blätter ausblende? Überprüfe vor dem Ausblenden jedes Blattes, ob andere Blätter sichtbar sind, und verwende Bedingungen in deiner Schleife, um dies zu gewährleisten.

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