Spis treści
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.xlsmWprowadzenie 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.