Clever-Excel-Forum

Normale Version: ActiveWindow.DisplayZeros = False
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

mit diesem Code öffne ich eine Arbeitsmappe:

Code:
Private Sub Workbook_Open()
    With ActiveWindow
        .DisplayZeros = False
        .DisplayGridlines = False
        .DisplayHeadings = False
    End With
    ActiveSheet.DisplayAutomaticPageBreaks = False
End Sub

(Tippfehler bei Gridlines korrigiert)

um nur das Formular mit den entsprechenden Eingabezellen sichtbar zu machen.

In den Excelversionen 2003, 2007, 2010 und 2013 läuft dieser Code problemlos. Jetzt soll die Datei unter Excel 2016 und höher benutzt werden und da kommt folgende Fehlermeldung:

Zitat:Laufzeitfehler '91':
Objektvariable oder With-Blockvariable nicht festgelegt

und die Zeile .DisplayZeros = False wird vom Debugger markiert, ob dann die nachfolgenden ebenfalls "angemeckert" werden, ist noch nicht festgestellt worden, da nach der Fehlermeldung abgebrochen wird.

Ich finde keinerlei Verbindung zwischen der Fehlermeldung und meinem Code - kann mir da jemand bitte weiterhelfen?
Hallo Günter,

nur mal so zur Info:

Bei meiner Version Office 365, 64 Bit läuft das problemlos durch.

Wenn man vorher noch

.DisplayGridlines = False

korrigiert hat.

viele Grüße
Karl-Heinz
Hallo Karl-Heinz,

vielen Dank für die Info, das mit den Gridlines war leider nur ein Tippfehler von mir!
Hallo Günter,

bei mir unter 2019 läuft der korrigierte Code auch problemlos. Als AddIn hast Du die Datei nicht zufälligerweise gespeichert und ansonsten keine Datei offen?
Hallo André,

auch für den Test unter Excel 2019 danke ich dir.

Obwohl angeblich der Fehler in der Zeile .Display.Zeros = False angezeigt wird, kann ich mir nicht vorstellen, dass es etwas mit dem Ausblenden eines Tabellenblattes zu tun haben könnte.

Denn vollständig lautet der Code:

Code:
Private Sub Workbook_Open)
     Sheets("Feiertage").Visible = xlVeryHidden
     With ActiveWindow
          .DisplayZeros = False
          .DisplayGridlines = False
          .DisplayHeadings = False
     End With
     ActiveSheet.DisplayAutomaticPageBreaks = False
End Sub

Ziel des Ganzen ist, das Tabellenblatt mit den Feiertagen auszublenden, im aktiven Tabellenblatt die Spalten- und Zeilenüberschriften sowie die Gitternetzlinen und die Anzeige des Seitenumbruches auszublenden, da in dem weiteren Ablauf zwischen Hoch- und Querformat umgeschalten wird, weil in dem Formular unterschiedliche Spaltenanzahlen verwendet werden.

Wenn Du auch keinen Fehler findest, bin ich erst einmal mit dem Latein am Ende.