Jak zmrazit panely pomocí VBA v aplikaci Excel (5 vhodných způsobů)

  • Sdílet Toto
Hugh West

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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.