vielleicht hat jemand ja eine Lösung für dieses Phänomen gefunden:
Mit benutzerdefinierten Ansichten (sogen. CustomViews) lassen sich ja Momentaufnahmen der aktuellen Excel-Oberfläche (Markierung, Filter, Ausblendungen, Ansichten, etc.) zur Wiedervorlage speichern. Ich nutze diese Möglichkeit, um etwa gefilterte Listen für verschiedene Aktionen kurzfristig zu "entfiltern", um dann über Recall der gespeicherten View wieder zu der gefilterten Ansicht zurückzugelangen.
Beim View Recall-Vorgang (ActiveWorkbook.CustomViews("MyView").Show) verändert sich allerdings die vorher eingestellte Fenster-Fixierung. Lag diese vor der Aktion noch oben unter der Kopfzeile zw. Zl1 und Zl.2, so liegt sie nach dem View-Recall nun weiter unten bei der ersten Fundzeile des Autofilters.
Die nachfolgende Bild-Serie verdeutlicht den Vorgang.
Lässt sich dagegen etwas machen, oder vertragen AutoFilter & CustomViews sich einfach nicht?
Alternativ: Wie könnte man (vorher) abfragen, wo aktuell die Position der Fenster-Fixierung liegt?
Vielen Dank im Voraus
Gruß Mr.PT
Beispielcode:
Sub ViewBuggi()
' Alle Filter aus
ActiveSheet.AutoFilterMode = False
' Fenster-Fixierung Kopfzeile über A2 setzen
Range("A2").Select
ActiveWindow.FreezePanes = False
ActiveWindow.FreezePanes = True 'Fenster-Fixierung liegt zw. Zeile 1 und 2
' Datenbereich Autofiltern und in Spalte B nach "AAA" suchen
Range("A1:D13").AutoFilter Field:=2, Criteria1:="AAA"
' Benutzerdefinierte Ansicht (CustomView) speichern als "MyView"
ActiveWorkbook.CustomViews.Add ViewName:="MyView", PrintSettings:=True, RowColSettings:=True
' Irgendwelche Aktionen, z.B. AutoFilter aus
ActiveSheet.AutoFilterMode = False
' Wiederherstellen der gespeicherten View > recall "MyView"
ActiveWorkbook.CustomViews("MyView").Show
' !!! Nach diesem Schritt ändert sich jedoch die bisherige Fenster-Fixierung !!!
' Zu sehen nach Filter-Deaktivierung:
ActiveSheet.AutoFilterMode = False
' Die Fenster-Fixierung liegt nun überhalb der ersten "AAA"-Fundzeile (4/5)
' WARUM AUCH IMMER ????
End Sub