Obsah
V tomto článku vám ukážu, jak lze zmrazit podokna pracovního listu aplikace Excel pomocí. Visual Basic of Applications (VBA). Při práci v aplikaci Excel často potřebujeme zmrazit podokna pracovního listu pro větší pohodlí a lepší zážitek. Dnes se dozvíte, jak toho můžete dosáhnout s pomocí VBA .
Zmrazení panelů pomocí VBA v aplikaci Excel (Rychlé zobrazení)
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
Stáhnout cvičebnici
Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.
VBA Freeze Panes.xlsmÚvod do zmrazovacích panelů aplikace Excel
V aplikaci Microsoft Excel znamená zmrazení panelů následující. zmrazení řádku nebo sloupce nebo obojí takovým způsobem, že i při posunu dolů nebo doprava pomocí posuvníku bude tento řádek nebo sloupec vždy viditelný. Obvykle se to provádí u řádků nebo sloupců, které obsahují záhlaví datové sady.
Podívejte se například na níže uvedenou sadu dat. Zde jsme pracovní list zmrazili až po řádek 3 ( Roky ) a sloupec B ( Název produktu ).
Když budeme list posouvat dolů pomocí posuvníku, zjistíme, že řádky až do řádku 3 jsou vždy viditelné.
Totéž platí pro sloupec B zatímco my se posouváme doprava.
Chcete-li nyní ručně zmrazit panely v pracovním listu, vyberte buňku hned za řádkem a sloupcem (buňka C4 v tomto příkladu) a přejděte na Zobrazit> Freeze Panes> Zmrazovací panely na panelu nástrojů aplikace Excel.
Chcete-li zmrazit pouze řádek, vyberte celý řádek a přejděte na položku Zobrazit> Freeze Panes> Zmrazovací panely na panelu nástrojů aplikace Excel.
Podobně chcete-li zmrazit pouze sloupec, vyberte celý sloupec a přejděte na příkaz Zobrazit> Freeze Panes> Zmrazovací panely na panelu nástrojů aplikace Excel.
⧭ Poznámky:
- Vyberte Zmrazení horního řádku zmrazit pouze horní řádek.
- Podobně vyberte Zmrazení prvního sloupce zmrazit pouze první sloupec.
5 metod zmrazení panelů pomocí VBA v aplikaci Excel
Dozvěděli jsme se, co je to zmrazení panelů v aplikaci Excel a jak toho dosáhnout ručně. Nyní přejděme k našemu hlavnímu tématu dnešního dne, jak zmrazit panely pomocí VBA .
1. Zmrazení pouze řádku pomocí VBA v aplikaci Excel
Nejprve se podívejme, jak můžeme zmrazit pouze řádek s VBA .
Jak již bylo řečeno, chcete-li zmrazit pouze řádek, musíte nejprve vybrat celý řádek pod řádkem, který má být zmrazen (Řádek 4 v tomto příkladu).
Pak musíte použít Zmrazovací panely příkaz.
Takže VBA kód bude:
⧭ Kód VBA:
Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub
⧭ Výstup:
Spusťte tento kód. A zjistíte, že aktivní pracovní list je zmrazen až do řádku 3 .
⧭ Poznámky:
- Zde jsme použili buňky C4 vybrat libovolnou buňku řádku 4 pracovního listu. Vyberete ji podle své potřeby.
- Poslední řádek kódu Range("C4").Select slouží ke zrušení výběru celého řádku. 4 (Zrušení výběru znamená výběr nového výběru, protože v Excelu musí něco zůstat vybráno). Pokud chcete, můžete tento řádek vynechat.
Další informace: Jak zmrazit horní řádek v aplikaci Excel (4 snadné metody)
2. Zmrazení pouze sloupce pomocí VBA v aplikaci Excel
Viděli jsme, jak můžeme zmrazit řádek pomocí VBA . Nyní se podíváme, jak zmrazit sloupec pomocí VBA .
Chcete-li zmrazit pouze sloupec, musíte podobně jako v případě řádku nejprve vybrat celý sloupec vpravo od sloupce, který chcete zmrazit (Sloupec C v tomto příkladu).
Pak musíte použít Zmrazovací panely příkaz.
Takže VBA kód bude:
⧭ Kód VBA:
Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub
⧭ Výstup:
Spusťte tento kód a zjistíte, že aktivní pracovní list je zmrazen až do sloupce C .
⧭ Poznámky:
- Zde jsme použili buňky C4 vybrat libovolnou buňku sloupce C pracovního listu. Zvolíte ji podle své potřeby.
- Poslední řádek kódu Range("C4").Select slouží ke zrušení výběru celého sloupce. C (Zrušení výběru znamená výběr nového výběru, protože v Excelu musí něco zůstat vybráno). Pokud chcete, můžete tento řádek vynechat.
Další informace: Jak zmrazit 2 sloupce v aplikaci Excel (5 metod)
3. Zmrazení řádku i sloupce pomocí VBA v aplikaci Excel
Viděli jsme, jak můžeme zmrazit řádek a sloupec zvlášť. Tentokrát se podíváme, jak můžeme zmrazit řádek i sloupec dohromady.
Chcete-li zmrazit řádek i sloupec dohromady, musíte vybrat buňku pod řádkem, který má být zmrazen, a vpravo od sloupce, který má být zmrazen (buňka C4 v tomto příkladu).
Pak musíte použít Zmrazovací panely příkaz.
Takže VBA kód bude:
⧭ Kód VBA:
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
⧭ Výstup:
Spusťte tento kód. A zjistíte, že aktivní pracovní list je zmrazen až do řádku 3 a sloupec C .
⧭ Poznámky:
- Zde jsme použili buňky C4 vybrat buňku pod řádkem 3 a doprava do sloupce B To je buňka C4 . Vyberte si ji podle svých potřeb.
Další informace: Jak zmrazit vybrané panely v aplikaci Excel (10 způsobů)
Podobné čtení:
- Jak zmrazit více panelů v aplikaci Excel (4 kritéria)
- Klávesová zkratka pro zmrazení panelů v aplikaci Excel (3 klávesové zkratky)
- Jak zmrazit první 3 sloupce v aplikaci Excel (4 rychlé způsoby)
4. Vývoj uživatelského formuláře pro zmrazení panelů pomocí VBA v aplikaci Excel
Viděli jsme, jak můžeme pomocí VBA v listu aplikace Excel zmrazit řádek nebo sloupec, případně řádek i sloupec.
Nyní vytvoříme formulář Userform, který všechny jednotlivé úlohy spojí do jednoho rozhraní.
⧭ Postup vývoje formuláře uživatele krok za krokem:
⧪ Krok 1:
- Tisk ALT+F11 na klávesnici, abyste otevřeli Visual Basic
- V Visual Basic přejděte na stránku Insert> UserForm vložit nový Formulář uživatele .
⧪ Krok 2:
- Nový Uživatelský formulář s názvem Uživatelský formulář1 bude vytvořen v VBA
- Na levé straně Uživatelský formulář , získáte ToolBox s názvem Kontrola . Najeďte myší na sadu nástrojů a vyhledejte položku TextBox (TextBox1) Po nalezení jednoho z nich jej přetáhněte na horní část obrazovky. Uživatelský formulář .
- Podobně přetáhněte ListBox ( ListBox1 ) přímo na Textové pole a CommandButton (Commandbutton1) do pravého dolního rohu Uživatelský formulář . Změna zobrazení CommandButton na OK . Uživatelský formulář by nyní měl vypadat takto:
⧪ Krok 3:
Vložte Modul ( Vložit> Modul ) z VBA skříňka na nářadí
⧪ Krok 4:
Vložte následující údaje VBA kód v 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"Načíst UserForm1 UserForm1.Show End Sub
⧪ Krok 5:
Dvakrát klikněte na CommandButton zobrazí se jako OK . Soukromý podřízený s názvem CommandButton1_Click otevře se. Vložte tam následující kód:
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 Jinak MsgBox "Select At Least One. ", vbExclamation End If Unload UserForm1
⧪ Krok 6:
Podobně dvakrát klikněte na TextBox1 . Soukromý podřízený s názvem TextBox1_Change otevře se. Vložte tam následující kód.
Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub
⧪ Krok 7:
Vaše Uživatelský formulář nyní je připravena k použití. Vyberte buňku pod řádkem, který má být zmrazen, a vpravo od sloupce, který má být zmrazen (buňka C4 zde) a spusťte Makro s názvem Run_UserForm .
⧪ Krok 8:
- Na stránkách Uživatelský formulář načte se adresa vybrané buňky ( C4 ) v Textové pole Pokud chcete, můžete to změnit.
- Poté vyberte jednu ze tří možností dostupných v okně ListBox . Zde chci zmrazit řádek i sloupec, proto jsem vybral možnost Zmrazení řádku i sloupce .
- Pak klikněte na OK .
⧪ Krok 9:
Podle vašeho přání najdete pracovní list zmrazený. (Zde zmrazený až do řádku 3 a sloupec B ).
Související obsah: Jak zmrazit snímek v aplikaci Excel (6 rychlých triků)
5. Alternativa zmrazení podoken v aplikaci Excel: Rozdělení okna pomocí VBA
Hodně jsme mluvili o zmrazení skel v Excelu. Nyní se podívejme na velmi užitečnou alternativu k aplikaci zmrazení skel v aplikaci Excel Rozdělené okno příkaz.
Můžete ActiveWindow.SplitRow nebo ActiveWindow.SplitColumn na adrese VBA rozdělit pracovní list po řádcích nebo sloupcích.
Chcete-li například rozdělit pracovní list z řádku 3 , použít:
ActiveWindow.SplitRow = 3
Podobně rozdělit pracovní list ze sloupce B , použít:
ActiveWindow.SplitColumn = 2
⧭ Kód VBA:
Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub
⧭ Výstup:
Spusťte kód, který rozdělí aktivní pracovní list od řádku 3 a sloupec B .
Související obsah: Jak použít vlastní zmrazovací panely v aplikaci Excel (3 snadné způsoby)
Na co nezapomenout
- Před podáním žádosti Zmrazovací panely v aplikaci Excel, musíte Zrušení zmrazení všech zmrazovacích panelů v opačném případě se Zmrazovací panely příkaz nebude fungovat.
- Na stránkách Zmrazovací panely příkaz nebude fungovat prostřednictvím sloučené buňky. Takže unmerge před použitím Zmrazovací panely příkaz, pokud existuje.
Závěr
Proto je třeba použít tyto metody Zmrazovací panely s VBA v Excelu. Pokusil jsem se probrat všechny možné způsoby, jak aplikovat Zmrazovací panely nad pracovním listem v Excelu. Máte nějaké dotazy? Neváhejte se nás zeptat. A nezapomeňte navštívit naše stránky. ExcelWIKI pro další příspěvky a aktualizace.