Einfrieren von Fenstern mit VBA in Excel (5 geeignete Methoden)

  • Teile Das
Hugh West

In diesem Artikel zeige ich Ihnen, wie Sie die Bereiche eines Excel-Arbeitsblatts mit Visual Basic für Anwendungen (VBA). Bei der Arbeit in Excel müssen wir oft die Bereiche des Arbeitsblatts einfrieren, um die Arbeit bequemer und angenehmer zu gestalten. Heute erfahren Sie, wie Sie dies mit folgenden Funktionen erreichen können VBA .

Fenster mit VBA in Excel einfrieren (Schnellansicht)

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

Download Arbeitsbuch Praxis

Laden Sie dieses Übungsheft herunter, um zu üben, während Sie diesen Artikel lesen.

VBA Fenster einfrieren.xlsm

Eine Einführung in Excel-Freeze-Panels

In Microsoft Excel bedeutet das Einfrieren von Fenstern Einfrieren einer Zeile oder einer Spalte oder beides so, dass die Zeile oder Spalte immer sichtbar ist, auch wenn Sie mit der Bildlaufleiste nach unten oder rechts blättern. Normalerweise wird dies mit Zeilen oder Spalten gemacht, die die Überschriften des Datensatzes enthalten.

Sehen Sie sich zum Beispiel den folgenden Datensatz an: Hier haben wir das Arbeitsblatt bis zur Zeile 3 ( Jahre ) und Spalte B ( Produkte Name ).

Wenn wir das Arbeitsblatt durch Scrollen der Bildlaufleiste nach unten gehen, werden wir feststellen, dass die Zeilen bis zur Zeile 3 sind immer sichtbar.

Dasselbe gilt für die Spalte B während wir nach rechts blättern.

Um die Bereiche in einem Arbeitsblatt manuell einzufrieren, markieren Sie die Zelle direkt nach der Zeile und Spalte (Zelle C4 in diesem Beispiel) und gehen Sie zu Ansicht> Freeze Panes> Freeze Panes in der Excel-Symbolleiste.

Um nur die Zeile einzufrieren, markieren Sie die gesamte Zeile und gehen Sie zu Ansicht> Freeze Panes> Freeze Panes in der Excel-Symbolleiste.

Wenn Sie nur die Spalte einfrieren möchten, markieren Sie die gesamte Spalte und gehen Sie zu Ansicht> Freeze Panes> Freeze Panes in der Excel-Symbolleiste.

⧭ Anmerkungen:

  • Wählen Sie Obere Reihe einfrieren um nur die oberste Zeile einzufrieren.
  • Wählen Sie in ähnlicher Weise Erste Säule einfrieren um nur die erste Spalte einzufrieren.

5 Methoden zum Einfrieren von Fenstern mit VBA in Excel

Wir haben gelernt, was das Einfrieren von Bereichen in Excel ist und wie man es manuell erreichen kann. Jetzt wollen wir zu unserem heutigen Hauptthema kommen, dem Einfrieren von Bereichen mit VBA .

1. nur eine Zeile mit VBA in Excel einfrieren

Zunächst wollen wir sehen, wie wir nur eine Zeile mit VBA .

Wie bereits erwähnt, müssen Sie, um nur eine Zeile einzufrieren, zunächst die gesamte Zeile unterhalb der einzufrierenden Zeile markieren (Zeile 4 in diesem Beispiel).

Dann müssen Sie die Scheiben einfrieren Befehl.

Also die VBA Code sein wird:

⧭ VBA-Code:

 Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Ausgabe:

Führen Sie diesen Code aus, und Sie werden feststellen, dass das aktive Arbeitsblatt bis zu einer Zeile eingefroren ist 3 .

⧭ Anmerkungen:

  • Hier haben wir die Zelle C4 um eine beliebige Zelle der Zeile auszuwählen 4 des Arbeitsblatts, die Sie je nach Bedarf auswählen.
  • Die letzte Zeile des Codes Bereich("C4").Auswählen dient dazu, die gesamte Zeile abzuwählen 4 (Das Aufheben einer Auswahl bedeutet, dass eine neue Auswahl getroffen wird, da in Excel etwas ausgewählt bleiben muss). Sie können diese Zeile auch weglassen, wenn Sie möchten.

Lesen Sie mehr: Einfrieren der obersten Zeile in Excel (4 einfache Methoden)

2. nur eine Spalte mit VBA in Excel einfrieren

Wir haben gesehen, wie wir eine Reihe mit VBA Sehen wir uns nun an, wie man eine Spalte einfriert mit VBA .

Ähnlich wie bei der Zeile müssen Sie, wenn Sie nur eine Spalte einfrieren wollen, zuerst die gesamte Spalte bis zur einzufrierenden Spalte markieren (Column C in diesem Beispiel).

Dann müssen Sie die Scheiben einfrieren Befehl.

Also die VBA Code sein wird:

⧭ VBA-Code:

 Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Ausgabe:

Führen Sie diesen Code aus, und Sie werden feststellen, dass das aktive Arbeitsblatt bis zu einer Spalte eingefroren ist C .

⧭ Anmerkungen:

  • Hier haben wir die Zelle C4 um eine beliebige Zelle der Spalte auszuwählen C des Arbeitsblatts, die Sie je nach Bedarf auswählen.
  • Die letzte Zeile des Codes Bereich("C4").Auswählen dient dazu, die gesamte Spalte abzuwählen C (Das Aufheben einer Auswahl bedeutet, dass eine neue Auswahl getroffen wird, da in Excel etwas ausgewählt bleiben muss). Sie können diese Zeile auch weglassen, wenn Sie möchten.

Lesen Sie mehr: Wie man 2 Spalten in Excel einfriert (5 Methoden)

3. sowohl Zeile als auch Spalte mit VBA in Excel einfrieren

Nachdem wir gesehen haben, wie man eine Zeile und eine Spalte getrennt einfrieren kann, wollen wir nun sehen, wie man sowohl die Zeile als auch die Spalte zusammen einfrieren kann.

Um sowohl die Zeile als auch die Spalte einzufrieren, müssen Sie eine Zelle unterhalb der einzufrierenden Zeile und rechts neben der einzufrierenden Spalte auswählen (Zelle C4 in diesem Beispiel).

Dann müssen Sie die Scheiben einfrieren Befehl.

Also die VBA Code sein wird:

⧭ VBA-Code:

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

⧭ Ausgabe:

Führen Sie diesen Code aus, und Sie werden feststellen, dass das aktive Arbeitsblatt bis zur Zeile 3 und Spalte C .

⧭ Anmerkungen:

  • Hier haben wir die Zelle C4 um eine Zelle unter der Zeile auszuwählen 3 und rechts zur Spalte B Das ist die Zelle. C4 Wählen Sie es nach Ihrem Bedarf aus.

Lesen Sie mehr: Ausgewählte Bereiche in Excel einfrieren (10 Möglichkeiten)

Ähnliche Lektüre:

  • Einfrieren mehrerer Fenster in Excel (4 Kriterien)
  • Tastaturkurzbefehl zum Einfrieren von Bereichen in Excel (3 Kurzbefehle)
  • Wie man die ersten 3 Spalten in Excel einfriert (4 schnelle Wege)

4. ein Benutzerformular zum Einfrieren von Fenstern mit VBA in Excel entwickeln

Wir haben gesehen, wie man eine Zeile oder eine Spalte oder sowohl die Zeile als auch die Spalte mit VBA in einem Excel-Arbeitsblatt einfrieren kann.

Jetzt werden wir ein Benutzerformular entwickeln, um all die verschiedenen Aufgaben in einer einzigen Oberfläche zusammenzufassen.

⧭ Schritt für Schrittes Vorgehen bei der Entwicklung des Benutzerformulars:

⧪ Schritt 1:

  • Presse ALT+F11 auf Ihrer Tastatur, um die Visual Basic
  • In der Visual Basic Editor, gehen Sie zu Einfügen> UserForm zum Einfügen einer neuen Benutzerformular .

⧪ Schritt 2:

  • Eine neue UserForm genannt. BenutzerFormular1 wird in der Datei VBA
  • Auf der linken Seite des UserForm erhalten Sie eine Werkzeugkoffer genannt. Kontrolle Fahren Sie mit der Maus über den Werkzeugkasten und suchen Sie nach einem TextBox (TextBox1) Wenn Sie einen gefunden haben, ziehen Sie ihn über den oberen Rand des Feldes UserForm .
  • Ziehen Sie in ähnlicher Weise eine ListBox ( ListenBox1 ) direkt zum Textfeld und eine CommandButton (Commandbutton1) in die rechte untere Ecke des UserForm Ändern Sie die Anzeige der CommandButton zu OK . Ihr UserForm sollte nun wie folgt aussehen:

⧪ Schritt 3:

Einfügen einer Modul ( Einfügen> Modul ) aus dem VBA Werkzeugkasten

⧪ Schritt 4:

Folgendes einfügen VBA Code in der Modul .

 Sub Run_UserForm() UserForm1.Caption = "Freeze Panes" UserForm1.TextBox1.Text = Selection.Address UserForm1.TextBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.ListStyle = fmListStyleOption UserForm1.ListBox1.AddItem "1. Freeze Row" UserForm1.ListBox1.AddItem "2. Freeze Column" UserForm1.ListBox1.AddItem "3. Freeze Both Row and Column"Load UserForm1 UserForm1.Show End Sub 

⧪ Schritt 5:

Doppelklicken Sie auf das CommandButton angezeigt als OK Eine private Sub namens BefehlButton1_Klick Fügen Sie dort den folgenden Code ein:

 If UserForm1.ListBox1.Selected(0) = True Then Set Rng = Selection Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(1) = True Then Set Rng = Selection Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(2) = True ThenActiveWindow.FreezePanes = True Else MsgBox "Wählen Sie mindestens einen aus. ", vbExclamation End If Unload UserForm1 

⧪ Schritt 6:

In ähnlicher Weise doppelklicken Sie auf das Feld TextBox1 Eine private Sub namens TextBox1_Ändern Fügen Sie dort den folgenden Code ein.

 Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub 

⧪ Schritt 7:

Ihr UserForm Wählen Sie die Zelle unterhalb der einzufrierenden Zeile und rechts von der einzufrierenden Spalte (Zelle C4 hier), und führen Sie die Makro genannt. Run_UserForm .

⧪ Schritt 8:

  • Die UserForm Sie finden die Adresse der ausgewählten Zelle ( C4 ) im Textfeld Wenn Sie wollen, können Sie dies ändern.
  • Wählen Sie dann eine der drei Optionen aus, die im Fenster ListBox Hier möchte ich sowohl die Zeile als auch die Spalte einfrieren, daher habe ich die Option Zeile und Spalte einfrieren .
  • Dann klicken Sie auf OK .

⧪ Schritt 9:

Das Arbeitsblatt wird je nach Wunsch eingefroren. (Hier eingefroren bis zur Zeile 3 und Spalte B ).

Verwandte Inhalte: Einfrieren des Rahmens in Excel (6 schnelle Tricks)

5. alternativ zu den Freeze Panes in Excel: Das Fenster mit VBA teilen

Wir haben viel über die Scheiben einfrieren Nun wollen wir uns eine sehr nützliche Alternative zum Scheiben einfrieren in Excel, die Geteiltes Fenster Befehl.

Sie können ActiveWindow.SplitRow oder ActiveWindow.SplitColumn in VBA um das Arbeitsblatt zeilenweise oder spaltenweise zu teilen.

Um zum Beispiel das Arbeitsblatt von Zeile 3 verwenden:

 ActiveWindow.SplitRow = 3 

In ähnlicher Weise können Sie das Arbeitsblatt von der Spalte B verwenden:

 ActiveWindow.SplitColumn = 2 

⧭ VBA-Code:

 Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub 

⧭ Ausgabe:

Führen Sie den Code aus, wird das aktive Arbeitsblatt von Zeile 3 und Spalte B .

Verwandte Inhalte: Wie man benutzerdefinierte Freeze-Panels in Excel anwendet (3 einfache Möglichkeiten)

Dinge zum Merken

  • Vor der Anwendung Scheiben einfrieren in Excel, müssen Sie Alle Freeze-Fenster auftauen Andernfalls wird die Scheiben einfrieren Befehl funktioniert nicht.
  • Die Scheiben einfrieren Befehl funktioniert nicht über den zusammengeführt Zellen, also aufheben sie vor der Anwendung der Scheiben einfrieren Befehl, wenn es einen gibt.

Schlussfolgerung

Dies sind also die Methoden, die Sie anwenden sollten Scheiben einfrieren mit VBA Ich habe versucht, alle Möglichkeiten der Anwendung in Excel zu erörtern. Scheiben einfrieren über ein Arbeitsblatt in Excel. Wenn Sie Fragen haben, fragen Sie uns. Und vergessen Sie nicht, unsere Website zu besuchen ExcelWIKI für weitere Beiträge und Aktualisierungen.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.