Jak zamrozić panele za pomocą VBA w Excelu (5 odpowiednich sposobów)

  • Udostępnij To
Hugh West

W tym artykule pokażę Ci jak zamrozić panele arkusza Excela za pomocą Visual Basic of Applications (VBA). Niejednokrotnie podczas pracy w Excelu potrzebujemy zamrozić panele arkusza dla wygody i lepszego doświadczenia. Dziś dowiesz się jak możesz to osiągnąć za pomocą VBA .

Zamrażanie paneli za pomocą VBA w programie Excel (szybki podgląd)

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

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.

VBA Freeze Panes.xlsm

Wprowadzenie do zamrożonych paneli programu Excel

W programie Microsoft Excel zamrożenie paneli oznacza. zamrożenie wiersza lub kolumny lub obu w taki sposób, że nawet jeśli zejdziesz w dół lub w prawo poprzez przewijanie paska przewijania, ten wiersz lub kolumna będą zawsze widoczne. Zwykle robi się to z wierszami lub kolumnami, które zawierają nagłówki zestawu danych.

Na przykład, spójrz na poniższy zestaw danych. Tutaj zamroziliśmy arkusz do wiersza 3 ( Lata ) i kolumna B ( Nazwa produktu ).

Gdy będziemy schodzić w dół arkusza przewijając pasek przewijania, okaże się, że wiersze do wiersza 3 są zawsze widoczne.

To samo dla kolumny B podczas gdy my przewijamy w prawo.

Teraz, aby ręcznie zamrozić panele w arkuszu, należy wybrać komórkę tuż po wierszu i kolumnie (Cell C4 w tym przykładzie) i przejdź do Widok> Szyby mrożące> Szyby mrożące na pasku narzędzi programu Excel.

Aby zamrozić tylko wiersz, zaznacz cały wiersz i przejdź do Widok> Szyby mrożące> Szyby mrożące na pasku narzędzi programu Excel.

Podobnie, aby zamrozić tylko kolumnę, wybierz całą kolumnę i przejdź do Widok> Szyby mrożące> Szyby mrożące na pasku narzędzi programu Excel.

⧭ Uwagi:

  • Wybierz Zamrożenie górnego rzędu aby zamrozić tylko górny rząd.
  • Podobnie, wybierz Zamrożenie pierwszej kolumny aby zamrozić tylko pierwszą kolumnę.

5 Metod zamrażania paneli za pomocą VBA w Excelu

Dowiedzieliśmy się, co to jest zamrożenie paneli w Excelu i jak to osiągnąć ręcznie. Teraz przejdźmy do naszej głównej dyskusji dzisiaj, jak zamrozić panele z VBA .

1. zamrożenie tylko wiersza za pomocą VBA w Excelu

Po pierwsze, zobaczmy jak możemy zamrozić tylko wiersz z VBA .

Jak już wcześniej wspomniano, aby zamrozić tylko jeden wiersz, należy najpierw zaznaczyć cały wiersz poniżej wiersza, który ma zostać zamrożony (Row 4 w tym przykładzie).

Następnie musisz zastosować Szyby mrożące polecenie.

Więc VBA kod będzie:

⧭ Kod VBA:

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

⧭ Wyjście:

Uruchom ten kod, a zobaczysz, że aktywny arkusz jest zamrożony do wiersza 3 .

⧭ Uwagi:

  • Tutaj użyliśmy komórki C4 aby wybrać dowolną komórkę wiersza 4 arkusza, wybierasz go w zależności od potrzeb.
  • Ostatnia linia kodu Range("C4").Select służy do odznaczania całego wiersza 4 (Odznaczenie dowolnego zaznaczenia oznacza wybranie nowego zaznaczenia, ponieważ w Excelu coś musi pozostać zaznaczone). Możesz pominąć tę linię, jeśli chcesz.

Read More: Jak zamrozić górny wiersz w programie Excel (4 proste metody)

2. zamrożenie tylko kolumny za pomocą VBA w Excelu

Widzieliśmy już jak możemy zamrozić wiersz za pomocą VBA Zobaczmy teraz, jak zamrozić kolumnę za pomocą VBA .

Podobnie jak w przypadku wiersza, aby zamrozić tylko kolumnę, należy najpierw zaznaczyć całą kolumnę po prawej stronie od kolumny, która ma zostać zamrożona (Column C w tym przykładzie).

Następnie musisz zastosować Szyby mrożące polecenie.

Więc VBA kod będzie:

⧭ Kod VBA:

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

⧭ Wyjście:

Uruchom ten kod, a zobaczysz, że aktywny arkusz jest zamrożony do kolumny C .

⧭ Uwagi:

  • Tutaj użyliśmy komórki C4 aby wybrać dowolną komórkę kolumny C arkusza, wybierasz go w zależności od potrzeb.
  • Ostatnia linia kodu Range("C4").Select służy do odznaczenia całej kolumny C (Odznaczenie dowolnego zaznaczenia oznacza wybranie nowego zaznaczenia, ponieważ w Excelu coś musi pozostać zaznaczone). Możesz pominąć tę linię, jeśli chcesz.

Read More: Jak zamrozić 2 kolumny w programie Excel (5 metod)

3. zamrożenie wiersza i kolumny za pomocą VBA w Excelu

Widzieliśmy już jak możemy zamrozić wiersz i kolumnę osobno, tym razem zobaczmy jak możemy zamrozić zarówno wiersz jak i kolumnę razem.

Aby zamrozić zarówno wiersz jak i kolumnę, należy wybrać komórkę poniżej wiersza, który ma być zamrożony i po prawej stronie kolumny, która ma być zamrożona (Cell C4 w tym przykładzie).

Następnie musisz zastosować Szyby mrożące polecenie.

Więc VBA kod będzie:

⧭ Kod VBA:

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

⧭ Wyjście:

Uruchom ten kod, a zobaczysz, że aktywny arkusz jest zamrożony do wiersza 3 i kolumna C .

⧭ Uwagi:

  • Tutaj użyliśmy komórki C4 aby wybrać komórkę poniżej wiersza 3 i od prawej do kolumny B . That's cell C4 Wybierz go w zależności od swoich potrzeb.

Read More: Jak zamrozić wybrane panele w Excelu (10 sposobów)

Podobne Lektury:

  • Jak zamrozić wiele paneli w Excelu (4 kryteria)
  • Skrót klawiaturowy do zamrożenia paneli w Excelu (3 skróty)
  • Jak zamrozić pierwsze 3 kolumny w Excelu (4 szybkie sposoby)

4. opracuj formularz użytkownika, aby zamrozić szyby za pomocą VBA w programie Excel

Widzieliśmy już, jak możemy zamrozić wiersz lub kolumnę albo zarówno wiersz, jak i kolumnę za pomocą VBA w arkuszu Excela.

Teraz stworzymy Userform, aby zebrać wszystkie odrębne zadania w jednym interfejsie.

⧭ Procedura opracowania formularza użytkownika krok po kroku:

⧪ Krok 1:

  • Naciśnij ALT+F11 na klawiaturze, aby otworzyć Visual Basic
  • W Visual Basic edytora, przejdź do Insert> UserForm aby wstawić nowy Userform .

⧪ Krok 2:

  • Nowy UserForm o nazwie UserForm1 zostanie utworzony w VBA
  • Po lewej stronie UserForm , dostaniesz ToolBox o nazwie Kontrola Najedź myszką na przybornik i poszukaj TextBox (TextBox1) Po znalezieniu jednego, przeciągnij go na górę UserForm .
  • Podobnie, przeciągnij ListBox ( ListBox1 ) prawo do Pole tekstowe oraz CommandButton (Commandbutton1) do prawego dolnego rogu UserForm Zmienić wyświetlanie CommandButton do OK . Twój UserForm powinien teraz wyglądać tak:

⧪ Krok 3:

Wstawić Moduł ( Insert> Moduł ) od. VBA skrzynka narzędziowa

⧪ Krok 4:

Wprowadzić następujące elementy VBA kod w Moduł .

 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. Zamrożenie wiersza" UserForm1.ListBox1.AddItem "2. Zamrożenie kolumny" UserForm1.ListBox1.AddItem "3. Zamrożenie zarówno wiersza jak i kolumny"Załaduj UserForm1 UserForm1.Show End Sub 

⧪ Krok 5:

Kliknij dwukrotnie na CommandButton wyświetlany jako OK . A Private Sub o nazwie CommandButton1_Click otworzy się. Wstaw tam następujący kod:

 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 "Wybierz przynajmniej jedną.", vbExclamation End If Unload UserForm1 

⧪ Krok 6:

Podobnie kliknij dwukrotnie na TextBox1 . A Private Sub o nazwie TextBox1_Change otworzy się. Wstaw tam następujący kod.

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

⧪ Krok 7:

Twoja UserForm Wybierz komórkę poniżej wiersza, który ma zostać zamrożony i po prawej stronie kolumny, która ma zostać zamrożona (Cell C4 tutaj), i uruchomić Makro o nazwie Run_UserForm .

⧪ Krok 8:

  • Na stronie UserForm Wczytany zostanie adres wybranej komórki ( C4 ) w. TextBox Jeśli chcesz, możesz to zmienić.
  • Następnie wybierz jedną z trzech opcji dostępnych w ListBox Tutaj chcę zamrozić zarówno wiersz jak i kolumnę, więc wybrałem Zamrażanie zarówno wiersza jak i kolumny .
  • Następnie kliknij OK .

⧪ Krok 9:

Znajdziesz tu arkusz zamrożony zgodnie z Twoim życzeniem (tutaj zamrożony do rzędu 3 i kolumna B ).

Related Content: Jak zamrozić ramkę w programie Excel (6 szybkich sztuczek)

5. alternatywa dla zamrożonych okien w Excelu: podziel okno za pomocą VBA

Dużo rozmawialiśmy o zamrażać szyby w Excelu. Teraz zobaczmy bardzo przydatną alternatywę dla zamrażać szyby w Excelu Okno dzielone polecenie.

Możesz ActiveWindow.SplitRow lub ActiveWindow.SplitColumn w VBA aby podzielić arkusz na wiersze lub kolumny.

Na przykład, aby podzielić arkusz od wiersza 3 , zastosowanie:

 ActiveWindow.SplitRow = 3 

Podobnie, aby podzielić arkusz od kolumny B , zastosowanie:

 ActiveWindow.SplitColumn = 2 

⧭ Kod VBA:

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

⧭ Wyjście:

Uruchom kod, podzieli on aktywny arkusz od wiersza 3 i kolumna B .

Treść powiązana: Jak zastosować niestandardowe panele zamrażania w programie Excel (3 proste sposoby)

Rzeczy do zapamiętania

  • Przed zastosowaniem Szyby mrożące w programie Excel, musisz Odmroź wszystkie szyby zamrażania już zastosowane. W przeciwnym razie Szyby mrożące polecenie nie zadziała.
  • Na stronie Szyby mrożące komenda nie będzie działać przez połączony komórki, więc odłączyć przed zastosowaniem Szyby mrożące polecenie, jeśli istnieje.

Wniosek

Więc to są metody, które należy stosować Szyby mrożące z VBA w Excelu. Starałem się omówić wszystkie możliwe sposoby zastosowania Szyby mrożące nad arkuszem w Excelu. Masz jakieś pytania, pytaj śmiało i nie zapomnij odwiedzić naszej strony ExcelWIKI po więcej postów i aktualizacji.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.