Microsoft Excel

Herbers Excel/VBA-Archiv

Fensterfixierung mit VBA | Herbers Excel-Forum


Betrifft: Fensterfixierung mit VBA von: Peter
Geschrieben am: 04.01.2010 16:22:13


Guten Abend
Ich habe in einer Datei eine Menge Tabellen, bei denen ich die Fensterfixierung einstellen will.
Fixiert sein sollen die Spalten A bis K (= Spalten 1-11) sowie Zeile 1.

Da einzelne Tabellen möglicherweise eine andere Fensterfixierung aufweisen, stelle ich diese zerst zurück (vielleicht nicht nötig?).

Was ist an untenstehendem Code falsch? Nach dem Druchlaufen gibt es z.B. Tabellen, bei denen Zeile 17 fixiert ist (Zeile 1-16 sind nicht ersichtlich) oder bei den Spalten sind z.B. 11 Spalten ab M fixiert.

Danke für eine Antwort.

Gruss, Peter

Sub Fix()
Dim aa As String
Sheets("0100").Activate

Do While aa <> "1231"
'Application.ScreenUpdating = False
Application.StatusBar = "Fensterfixierung auf Blatt " & ActiveSheet.Name

   
With ActiveWindow
        .SplitColumn = 0
        .SplitRow = 0
    End With
With ActiveWindow
        .SplitColumn = 11
        .SplitRow = 1
        .FreezePanes = True
    End With
With ActiveSheet
        .Next.Select
    End With
    
    aa = ActiveSheet.Name
    Loop
Application.StatusBar = ""
'Application.ScreenUpdating = True
End Sub

  

Betrifft: AW: Fensterfixierung mit VBA von: Petra
Geschrieben am: 04.01.2010 16:33:39

Hi Peter
setze dies noch an den Anfang:
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
.ScrollRow = 1
.ScrollColumn = 1

End With
Grüße Petra


  

Betrifft: .FreezePanes=False owT von: Rudi Maintaire
Geschrieben am: 04.01.2010 16:37:02




  

Betrifft: AW: Fensterfixierung mit VBA von: Peter
Geschrieben am: 04.01.2010 17:03:41

Hallo zusammen
Danke für die Hinweise.

Ich habe festgestellt, dass noch folgende Codezeilen notwendig sind:
With ActiveSheet
Application.Goto .Cells(1, 1)
End With

Ansonsten hilft auch Scroll nicht.

Gruss, Peter

Sub Ffix()
Dim aa As String
Sheets("0100").Activate

Do While aa <> "1231"
Application.StatusBar = "Fensterfixierung auf Blatt " & ActiveSheet.Name
With ActiveWindow
        .FreezePanes = False
    End With
    
With ActiveSheet
Application.Goto .Cells(1, 1)
End With

With ActiveWindow
        .SplitColumn = 11
        .SplitRow = 1
        .FreezePanes = True
    End With
With ActiveSheet
        .Next.Select
    End With
    
    aa = ActiveSheet.Name
    Loop

Application.StatusBar = ""
End Sub