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

Fensterfixierung und Scrollbegrenzung

Forumthread: Fensterfixierung und Scrollbegrenzung

Fensterfixierung und Scrollbegrenzung
22.07.2025 20:10:28
Soham235
Hallo in die Runde,

kann mir jemand helfen, wie ich folgende Sub ändern muss, damit sie nicht jedes Mal beim Öffnen ausgeführt wird? Sprich, sofern bereits diese Scrollbegrenzungen und Fensterfixierungen existieren, soll die Sub nicht ausgeführt werden.

Private Sub Workbook_Open()
Dim ws As Worksheet
Dim firstSheet As Boolean
firstSheet = True
For Each ws In ThisWorkbook.Worksheets
If firstSheet Then
firstSheet = False
Else
ws.Activate
ws.Range("A8").Select
ActiveWindow.FreezePanes = True
ws.ScrollArea = "A$1:$S$81"
End If
Next ws
End Sub

Grüße
Alex
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fensterfixierung und Scrollbegrenzung
22.07.2025 20:40:27
daniel
Hi
die Fensterfixierungen (FreezePanes) kannst du auch einmalig von Hand ausführen, die werden mit gespeichert und sind beim nächsten Öffnen wieder so wie beim Speichern
dh die brauchst du nicht im Workbook_Open-Makro ausführen.


die Scroll-Area wird jedoch nicht gespeichert, die ist nach jedem Öffnen wieder weg, daher musst du die Workbook_Open-Makro neu setzen.
dafür musst du aber die Sheets nicht aktivieren, dh das wird gemacht ohne dass es einer sieht.

dh diesen Teil kannst du einfach löschen:
ws.Activate

ws.Range("A8").Select
ActiveWindow.FreezePanes = True

bzw, falls es doch mal benötigt wird, in ein normales Makro schreiben, welches nur bei Bedarf ausgeführt wird.
Damit man den Blattwechsel nicht sieht, kannst du Application.ScreenUpdating = False verwenden. Nach diesem Befehl friert der Bildschirm ein, entweder bis Makroende oder bis man es wieder auf True setzt.

Gruß Daniel
Anzeige
AW: Fensterfixierung und Scrollbegrenzung
22.07.2025 21:09:38
Soham235
Hallo Daniel,

da die Excel-Datei auch auf anderen PCs verwendet werden soll, bräuchte ich eben eine Idee, wie ich dieses Makro ändern soll, damit es auf anderen PCs erkennt, ob die Fensterfixierungen und Scrollbegrenzungen nach dem ersten Gebrauch bereits vorhanden sind.

Auf meinem PC lief nach händischer Formatierung alles wunderbar. Als ich aber die Datei auf dem Firmen-PC (auf dem zudem Excel 365 installiert ist; ich selbst habe die 2019er-Version) laufen ließ, erkannte ich, dass sowohl die Fensterfixierungen als auch Scrollbegrenzungen nicht mehr vorhanden waren. Damit also das File auf verschiedenen PCs sofort bzw. selbstständig funktioniert und auch weitergegeben werden kann, habe ich eben auf die händische Formatierung verzichtet und dieses Makro entworfen.

Grüße
Alex
Anzeige
AW: Fensterfixierung und Scrollbegrenzung
23.07.2025 15:44:56
Aran
Hallo Alex

Ist es denn ein Schaden, wenn das Makro beim Start durchläuft?
Das wird sich nicht vermeiden lassen, da Du ja auch nur über das Makro ermitteln kannst, ob die Ausführung notwendig ist, oder nicht.
Es wird also auf jeden Fall starten.

Immerhin, Du könntest in das Makro noch eine Abfrage packen, ob eine Fensterfixierung bereits existiert und wenn ja, dann die Ausführung stoppen.
Viel Sinn macht das aber m.E. nicht.

Der Code könnte dann so aussehen:



Private Sub Workbook_Open()
Dim i As Integer
For i = 2 To Worksheets.Count
Worksheets(i).Activate
Range("A8").Select
If ActiveWindow.FreezePanes = True Then
Else
ActiveWindow.FreezePanes = True
Worksheets(i).ScrollArea = "A$1:$S$81"
End If
Next i
End Sub


und wie Daniel geschrieben hat, sollte die Fixierung ohnehin PC-übergreifend in der Datei gespeichert sein.

Aber vielleicht hilft Dir das ja trotzdem weiter

Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18