Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: WorkbookOpen soll alle Arbeitsblätter einstellen

WorkbookOpen soll alle Arbeitsblätter einstellen
10.04.2007 14:14:00
Lenhard
Moin Moin!
Ich finde in meinen Büchern, in der Hilfe sowieso nix, im Forum vieles ..aber leider nicht so das, was ich brauche). Ich will eigentlich nur etwas banales:
Ich habe mir eine Workbook_Open Skript erstellt und will, dass es auf alle Arbeitsblätter meines Workbooks wirkt. Nun, mein Skript sagt es schon in der 2. Zeile. Es ist eine "Einzahl"-Formulierung...

Private Sub Workbook_Open()
With ActiveWindow
.DisplayFormulas = False
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayZeros = False
.DisplayWorkbookTabs = True
'    End With
End Sub
Wie muss ich das Skript ändern, dass es auf alle Arbeitsblätter meiner Excel-Datei wirkt wenn ich sie öffne?
Gruß aus dem hohen Norden
Lenhard

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

Betreff
Datum
Anwender
Anzeige
AW: WorkbookOpen soll alle Arbeitsblätter einstellen
10.04.2007 14:34:29
IngGi
Hallo Lenhard,
so sollte es funktionieren:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With ws
.DisplayFormulas = False
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayZeros = False
.DisplayWorkbookTabs = True
End With
Next 'ws
End Sub
Gruß Ingolf
AW: WorkbookOpen soll alle Arbeitsblätter einstellen
10.04.2007 15:18:00
Lenhard
Vielen Dank Ingolf! ...aber leider erhalte ich folgende Fehlermeldung:
Die Zeile "DisplayFormulas = False" ist unterlegt und es erscheint die Meldung "Fehler beim Kompilieren: Methode oder Datenprojekt nicht gefunden"
Magst mir noch mal helfen?! Danke!
Gruß
Lenhard
PS ...was heißt eigentlich "Kompilieren"?
Anzeige
AW: WorkbookOpen soll alle Arbeitsblätter einstellen
10.04.2007 16:11:37
IngGi
Hallo Lenhard,
da hab ich nicht aufgepasst. "DisplayFormulas" ist keine Eigenschaft des Tabellenblattes, sondern des Fensters, in dem die Arbeitsmappe angezeigt wird. Also sollte das Ganze so funktionieren:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With ws
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayZeros = False
.DisplayWorkbookTabs = True
End With
Next 'ws
ActiveWindow.DisplayFormulas = False
End Sub
Und noch zu deiner Frage. "Kompilieren" bezeichnet die Übersetzung von z.B. VBA-Makros in Maschinencode. Maschinencode ist eine Liste mit Anweisungen für den Computer, die aus einer Abfolge von Nullen und Einsen besteht, so dass der Computer dies versteht. Beim Übersetzen werden viele Fehler bereits erkannt und "angemeckert", so auch mein Fehler mit "DisplayFormulas".
Gruß Ingolf
Anzeige
AW: WorkbookOpen soll alle Arbeitsblätter einstellen
10.04.2007 16:09:09
Jan

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If TypeName(Sh) = "Worksheet" Then
With ActiveWindow
.DisplayFormulas = False
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayZeros = False
.DisplayWorkbookTabs = True
End With
End If
End Sub

AW: WorkbookOpen soll alle Arbeitsblätter einstellen
10.04.2007 16:32:19
Lenhard
Danke Jan! Danke Ingolf!
Zunächst zu Dir Ingolf: Klappte leider auch nicht! ...es wurde die nächste Zeile "angemeckert". Aber Deine Erklärung zum Thema "Kompilieren" ist klasse. Diesen Zusammenhang verstehe ich nun. Über Dein "angemeckert" muss ich wirklich schmunzeln... :-) Trotzdem vielen Dank für Deine Hilfe!!
...denn, nun zu Dir, Jan: Es klappt! ...und läuft sehr rund! Vielen Dank! Jan!
-------------------------
Da ich mittlerweile gelernt habe, das mit VBA "viele Wege nach Rom führen", ist Dein Vorschlag, Ingolf, vielleicht auch richtig, wobei nur eine Kleinigkeit den Fehler verursacht. Und da dieses Forum auch für andere da ist, würde ich mich trotzdem sehr freuen, wenn Du Deinen Vorschlag noch mal untersuchst und nochmals eine Korrektur hier "rein stellst".
Vielen Dank Euch Beiden!!
Gruß
Lenhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige