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

Fensterfixierung mit VBA

Forumthread: Fensterfixierung mit VBA

Fensterfixierung mit VBA
Peter

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

Anzeige

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

Betreff
Benutzer
Anzeige
AW: Fensterfixierung mit VBA
04.01.2010 16:33:39
Petra
Hi Peter
setze dies noch an den Anfang:
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
.ScrollRow = 1
.ScrollColumn = 1

End With
Grüße Petra
.FreezePanes=False owT
04.01.2010 16:37:02
Rudi
AW: Fensterfixierung mit VBA
04.01.2010 17:03:41
Peter
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

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fensterfixierung mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um die Fensterfixierung in Excel über VBA zu implementieren, kannst du den folgenden Code verwenden. Dieser fixiert die Spalten A bis K und die erste Zeile, während er zuvor eventuell bestehende Fensterfixierungen zurücksetzt.

Sub FensterFixieren()
    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) ' Gehe zur ersten Zelle
        End With
        With ActiveWindow
            .SplitColumn = 11 ' Spalte K
            .SplitRow = 1    ' Zeile 1
            .FreezePanes = True
        End With
        With ActiveSheet
            .Next.Select
        End With
        aa = ActiveSheet.Name
    Loop
    Application.StatusBar = ""
End Sub

Dieser Code durchläuft alle Blätter in deiner Arbeitsmappe und wendet die Fensterfixierung an. Achte darauf, das Makro entsprechend deiner Excel-Version (z.B. Excel 2016 oder neuer) auszuführen.


Häufige Fehler und Lösungen

Ein häufiger Fehler, den Nutzer beim VBA Fenster fixieren machen, ist das Vergessen, die Fensterfixierung vorher zu deaktivieren. Achte darauf, dass du immer FreezePanes = False setzt, bevor du die neue Fensterfixierung anwendest.

Wenn du nach dem Ausführen des Codes immer noch Probleme mit der Sichtbarkeit von Zeilen oder Spalten hast, überprüfe, ob der Code korrekt die SplitRow und SplitColumn Parameter setzt.


Alternative Methoden

Du kannst die Fensterfixierung auch manuell in Excel einstellen, ohne VBA zu verwenden:

  1. Wähle die Zelle unter der Zeile und rechts von der Spalte, die du fixieren möchtest (z.B. A2).
  2. Gehe zu Ansicht > Fenster fixieren > Oberste Zeile fixieren oder Fenster fixieren.
  3. Wähle die gewünschte Option aus.

Diese Methode ist besonders nützlich, wenn du nur gelegentlich die oberste Zeile fixieren musst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Fensterfixierung in verschiedenen Szenarien nutzen kannst:

  1. Für große Datenmengen: Wenn du mit umfangreichen Tabellen arbeitest, kannst du die erste Zeile fixieren, um die Kopfzeilen immer sichtbar zu haben.
  2. Für Berichterstattung: Wenn du Berichte in mehreren Blättern erstellst, hilft das Fixieren der Spalten A bis K, die wichtigsten Informationen stets im Blick zu behalten.

Tipps für Profis

  • Nutze die VBA Scroll to Cell Funktion, um schnell zu bestimmten Bereichen deiner Tabelle zu navigieren, bevor du die Fensterfixierung anwendest.
  • Setze eine Bedingung in deinem VBA-Code, um die Fensterfixierung nur anzuwenden, wenn es notwendig ist, um die Performance zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Fensterfixierung in einer bestimmten Excel-Version anwenden?
Die oben genannten VBA-Codes sind mit Excel 2016 und neueren Versionen kompatibel. Stelle sicher, dass du die richtige Version verwendest.

2. Was kann ich tun, wenn die Fensterfixierung nicht funktioniert?
Überprüfe deinen Code auf Syntaxfehler und stelle sicher, dass du die richtige Tabelle aktiv hast. Manchmal kann es helfen, Excel neu zu starten.

3. Wie kann ich die Fensterfixierung wieder aufheben?
Du kannst die Fensterfixierung einfach aufheben, indem du zu Ansicht > Fenster fixieren > Fensterfixierung aufheben gehst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige