Cuprins
În acest articol, vă voi arăta cum puteți îngheța panourile unei foi de lucru Excel cu Visual Basic of Applications (VBA). De multe ori, în timp ce lucrăm în Excel, avem nevoie să înghețăm panourile foii de lucru pentru comoditate și o experiență mai bună. Astăzi veți învăța cum puteți realiza acest lucru cu ajutorul aplicației VBA .
Înghețarea panourilor cu VBA în Excel (Vizualizare rapidă)
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
Descărcați caietul de practică
Descărcați acest caiet de exerciții pentru a vă exercita în timp ce citiți acest articol.
VBA Freeze Panes.xlsmO introducere în Excel Freeze Panes
În Microsoft Excel, înghețarea panourilor înseamnă să îngheață un rând sau o coloană sau ambele în așa fel încât, chiar dacă mergeți în jos sau la dreapta prin derularea barei de defilare, rândul sau coloana respectivă va fi întotdeauna vizibilă. În mod normal, acest lucru se face cu rândurile sau coloanele care conțin anteturile setului de date.
De exemplu, uitați-vă la setul de date de mai jos. Aici am înghețat foaia de calcul până la rândul 3 ( Ani ) și coloana B ( Denumirea produselor ).
Când vom coborî în foaia de calcul prin derularea barei de derulare, vom constata că rândurile de până la rândul 3 sunt întotdeauna vizibile.
Același lucru pentru coloană B în timp ce noi derulăm spre dreapta.
Acum, pentru a îngheța manual panourile dintr-o foaie de lucru, selectați celula imediat după rândul și coloana (Cell C4 în acest exemplu) și mergeți la Vizualizare> Freeze Panes> Freeze Panes din bara de instrumente Excel.
Pentru a îngheța doar rândul, selectați întregul rând și accesați Vizualizare> Freeze Panes> Freeze Panes din bara de instrumente Excel.
În mod similar, pentru a îngheța doar coloana, selectați întreaga coloană și accesați Vizualizare> Freeze Panes> Freeze Panes din bara de instrumente Excel.
⧭ Note:
- Selectați Congelare Rândul de sus pentru a îngheța doar rândul de sus.
- În mod similar, selectați Îngheață prima coloană pentru a îngheța doar prima coloană.
5 Metode de înghețare a panourilor cu VBA în Excel
Am învățat ce este înghețarea panourilor în Excel și cum se poate realiza manual. Acum, să trecem la discuția principală de astăzi, cum să înghețăm panouri cu VBA .
1. Înghețați doar un rând cu VBA în Excel
Mai întâi de toate, să vedem cum putem îngheța doar un rând cu VBA .
Așa cum am discutat mai devreme, pentru a îngheța doar un rând, mai întâi trebuie să selectați întregul rând de sub rândul care urmează să fie înghețat (Row 4 în acest exemplu).
Apoi trebuie să aplicați Panouri de îngheț comandă.
Deci, în VBA codul va fi:
⧭ Cod VBA:
Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub
⧭ Ieșire:
Rulați acest cod și veți găsi foaia de lucru activă înghețată până la rândul 3 .
⧭ Note:
- Aici am folosit celula C4 pentru a selecta orice celulă din rândul 4 din foaia de lucru. Îl selectați în funcție de necesități.
- Ultima linie a codului Range("C4").Select are ca scop deselectarea întregului rând 4 (Deselectarea oricărei selecții înseamnă selectarea unei noi selecții, deoarece în Excel, ceva trebuie să rămână selectat). Puteți omite această linie dacă doriți.
Citiți mai mult: Cum să înghețați rândul de sus în Excel (4 metode ușoare)
2. Înghețați doar o coloană cu VBA în Excel
Am văzut cum putem îngheța un rând cu VBA Acum să vedem cum se îngheață o coloană cu VBA .
La fel ca la rând, pentru a îngheța doar o coloană, mai întâi trebuie să selectați întreaga coloană până la coloana care urmează să fie înghețată (Column C în acest exemplu).
Apoi trebuie să aplicați Panouri de îngheț comandă.
Deci, în VBA codul va fi:
⧭ Cod VBA:
Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub
⧭ Ieșire:
Rulați acest cod și veți găsi foaia de lucru activă înghețată până la coloana C .
⧭ Note:
- Aici am folosit celula C4 pentru a selecta orice celulă din coloană C din foaia de lucru. Îl selectați în funcție de necesități.
- Ultima linie a codului Range("C4").Select are ca scop deselectarea întregii coloane C (Deselectarea oricărei selecții înseamnă selectarea unei noi selecții, deoarece în Excel, ceva trebuie să rămână selectat). Puteți omite această linie dacă doriți.
Citiți mai mult: Cum să înghețați 2 coloane în Excel (5 metode)
3. Înghețați atât rândul, cât și coloana cu VBA în Excel
Am văzut cum putem îngheța un rând și o coloană separat. De data aceasta, să vedem cum putem îngheța atât rândul, cât și coloana împreună.
Pentru a îngheța atât rândul, cât și coloana împreună, trebuie să selectați o celulă sub rândul care urmează să fie înghețat și în dreapta coloanei care urmează să fie înghețată (Cell C4 în acest exemplu).
Apoi trebuie să aplicați Panouri de îngheț comandă.
Deci, în VBA codul va fi:
⧭ Cod VBA:
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
⧭ Ieșire:
Rulați acest cod și veți găsi foaia de lucru activă înghețată până la rândul 3 și coloana C .
⧭ Note:
- Aici am folosit celula C4 pentru a selecta o celulă de sub rând 3 și de la dreapta la coloană B Asta e celula. C4 Îl selectați în funcție de nevoile dumneavoastră.
Citiți mai mult: Cum să înghețați panourile selectate în Excel (10 moduri)
Lecturi similare:
- Cum să înghețați mai multe panouri în Excel (4 Criterii)
- Comenzi rapide de la tastatură pentru a îngheța panourile în Excel (3 comenzi rapide)
- Cum să înghețați primele 3 coloane în Excel (4 moduri rapide)
4. Elaborați un formular utilizator pentru a îngheța panourile cu VBA în Excel
Am văzut cum putem îngheța un rând sau o coloană sau atât rândul, cât și coloana cu VBA într-o foaie de lucru Excel.
Acum vom dezvolta un formular de utilizator pentru a aduce toate sarcinile distincte într-o singură interfață.
⧭ Procedură pas cu pas pentru dezvoltarea formularului de utilizator:
⧪ Pasul 1:
- Presa ALT+F11 de pe tastatură pentru a deschide fereastra Visual Basic
- În Visual Basic editor, mergeți la Insert> UserForm pentru a insera un nou Formular de utilizator .
⧪ Pasul 2:
- Un nou UserForm numit UserForm1 va fi creat în fișierul VBA
- În partea stângă a UserForm , vei primi un ToolBox numit Control Treceți cu mouse-ul peste cutia de instrumente și căutați un TextBox (TextBox1) După ce găsiți unul, trageți-l peste partea superioară a UserForm .
- În mod similar, trageți un ListBox ( ListBox1 ) chiar la Caseta de text și un CommandButton (Commandbutton1) în colțul din dreapta jos al UserForm Modificați afișajul din CommandButton la OK . UserForm ar trebui să arate acum astfel:
⧪ Pasul 3:
Introduceți un Modul ( Inserare> Modul ) de la VBA cutie de scule
⧪ Pasul 4:
Introduceți următorul text VBA în codul 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"Încarcă UserForm1 UserForm1.Show End Sub
⧪ Pasul 5:
Faceți dublu clic pe butonul CommandButton afișat ca OK . un Sub privat numit CommandButton1_Click Introduceți următorul cod acolo:
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 "Select At Least One. ", vbExclamation End If Unload UserForm1
⧪ Pasul 6:
În mod similar, faceți dublu clic pe TextBox1 . un Sub privat numit TextBox1_Change Introduceți următorul cod acolo.
Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub
⧪ Pasul 7:
UserForm este acum gata de utilizare. Selectați celula de sub rândul care urmează să fie înghețat și din dreapta coloanei care urmează să fie înghețată (Cell C4 aici), și rulați programul Macro numit Run_UserForm .
⧪ Pasul 8:
- The UserForm Veți găsi adresa celulei selectate ( C4 ) în TextBox Dacă doriți, puteți schimba acest lucru.
- Selectați apoi oricare dintre cele trei opțiuni disponibile în fereastra ListBox Aici vreau să îngheț atât rândul, cât și coloana, așa că am selectat Înghețarea atât a rândului, cât și a coloanei .
- Apoi faceți clic pe OK .
⧪ Pasul 9:
Veți găsi foaia de lucru înghețată în funcție de dorința dvs. (Aici înghețată până la rândul 3 și coloana B ).
Conținut conex: Cum să înghețați cadrul în Excel (6 trucuri rapide)
5. Alternativa panourilor de înghețare în Excel: împărțirea ferestrei cu VBA
Am vorbit mult despre îngheață panouri în Excel. Acum, să vedem o alternativă foarte utilă la îngheață panouri în Excel, se utilizează Fereastră divizată comandă.
Puteți ActiveWindow.SplitRow sau ActiveWindow.SplitColumn în VBA pentru a împărți foaia de lucru pe rând sau pe coloană.
De exemplu, pentru a împărți foaia de lucru de la rândul 3 , utilizați:
ActiveWindow.SplitRow = 3
În mod similar, pentru a împărți foaia de lucru din coloana B , utilizați:
ActiveWindow.SplitColumn = 2
⧭ Cod VBA:
Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub
⧭ Ieșire:
Rulați codul, acesta va împărți foaia de lucru activă din rândul 3 și coloana B .
Conținut asociat: Cum să aplicați panouri de înghețare personalizate în Excel (3 moduri simple)
Lucruri de reținut
- Înainte de aplicare Panouri de îngheț în Excel, trebuie să Dezghețați toate panourile de înghețare deja aplicat. În caz contrar, se aplică Panouri de îngheț comanda nu va funcționa.
- The Panouri de îngheț comanda nu va funcționa prin intermediul a fuzionat celule. Deci unmerge acestea înainte de a aplica Panouri de îngheț dacă există vreo comandă.
Concluzie
Deci, acestea sunt metodele care trebuie folosite Panouri de îngheț cu VBA în Excel. Am încercat să discut toate modalitățile posibile de a aplica Panouri de îngheț peste o foaie de lucru în Excel. Aveți întrebări? Nu ezitați să ne întrebați. Și nu uitați să vizitați site-ul nostru ExcelWIKI pentru mai multe postări și actualizări.