Tartalomjegyzék
Ebben a cikkben megmutatom, hogyan lehet befagyasztani egy Excel-munkalap ablakait a következő eszközökkel Visual Basic of Applications (VBA). Sokszor az Excelben végzett munka során a kényelem és a jobb élmény érdekében be kell fagyasztanunk a munkalap ablakait. Ma megtudhatja, hogyan érheti el ezt a következő eszközökkel. VBA .
Táblák befagyasztása VBA-val az Excelben (gyorsnézet)
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
Gyakorlati munkafüzet letöltése
Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.
VBA Freeze Panes.xlsmBevezetés az Excel befagyasztási panelekbe
A Microsoft Excelben a panelek befagyasztása a következőket jelenti sor vagy oszlop befagyasztása vagy mindkettő úgy, hogy még akkor is, ha a görgetősáv görgetésével lefelé vagy jobbra megyünk, az adott sor vagy oszlop mindig látható maradjon. Általában az adatkészlet fejléceit tartalmazó sorokkal vagy oszlopokkal történik.
Nézzük meg például az alábbi adathalmazt. Itt a munkalapot a következő sorig befagyasztottuk. 3 ( Évek ) és az oszlop B ( Termékek neve ).
Amikor a görgetősáv görgetésével lefelé megyünk a munkalapon, azt fogjuk látni, hogy a sorok a sorig 3 mindig láthatóak.
Ugyanez vonatkozik az oszlopra is B miközben jobbra görgetünk.
Ha manuálisan szeretné befagyasztani a munkalapok ablakait, válassza ki a sort és oszlopot követő cellát (Cell C4 ebben a példában) és menjünk a Nézet> Fagyasztótáblák> Fagyasztótáblák az Excel eszköztárában.
Ha csak a sort szeretné befagyasztani, jelölje ki az egész sort, és lépjen a Nézet> Fagyasztótáblák> Fagyasztótáblák az Excel eszköztárában.
Hasonlóképpen, ha csak az oszlopot szeretné befagyasztani, jelölje ki az egész oszlopot, és válassza a Nézet> Fagyasztótáblák> Fagyasztótáblák az Excel eszköztárában.
⧭ Megjegyzések:
- Válassza ki a címet. Fagyasztás felső sor hogy csak a felső sort fagyassza be.
- Hasonlóképpen, válassza ki Első oszlop befagyasztása hogy csak az első oszlopot fagyassza be.
5 módszer az Excel VBA-val történő panelek befagyasztására az Excelben
Megtanultuk, hogy mi az Excelben a panelek befagyasztása, és hogyan lehet ezt manuálisan elvégezni. Most térjünk rá a mai fő témánkra, hogyan lehet a panelek befagyasztása a következőkkel. VBA .
1. Csak egy sor befagyasztása VBA-val az Excelben
Először is, nézzük meg, hogyan tudunk csak egy sort befagyasztani a VBA .
Ahogy korábban már említettük, ha csak egy sort szeretnénk befagyasztani, először ki kell jelölnünk a befagyasztandó sor alatti teljes sort (Row 4 ebben a példában).
Ezután kell alkalmazni a Fagyasztási panelek parancs.
Tehát a VBA kód lesz:
⧭ VBA kód:
Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub
⧭ Kimenet:
Futtassa ezt a kódot, és az aktív munkalapot a következő sorig befagyasztva találja. 3 .
⧭ Megjegyzések:
- Itt használtunk cellát C4 a sor bármely cellájának kiválasztásához 4 A munkalapot az igényeinek megfelelően választhatja ki.
- A kód utolsó sora Range("C4").Select a teljes sor kijelölésének megszüntetésére szolgál. 4 (Bármely kijelölés megszüntetése egy új kijelölés kijelölését jelenti, mivel az Excelben valaminek kijelöltnek kell maradnia). Ezt a sort elhagyhatja, ha szeretné.
További információ: Hogyan lehet befagyasztani a felső sort az Excelben (4 egyszerű módszer)
2. Csak egy oszlop befagyasztása VBA-val az Excelben
Láttuk, hogyan fagyaszthatunk be egy sort a VBA Most pedig nézzük meg, hogyan lehet egy oszlopot befagyasztani a VBA .
A sorhoz hasonlóan, ha csak egy oszlopot akarunk befagyasztani, először ki kell jelölnünk a teljes oszlopot a befagyasztandó oszloptól jobbra (Column C ebben a példában).
Ezután kell alkalmazni a Fagyasztási panelek parancs.
Tehát a VBA kód lesz:
⧭ VBA kód:
Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub
⧭ Kimenet:
Futtassa ezt a kódot, és az aktív munkalapot az oszlopig befagyasztva találja. C .
⧭ Megjegyzések:
- Itt használtunk cellát C4 az oszlop bármely cellájának kiválasztásához C A munkalapot az igényeinek megfelelően választhatja ki.
- A kód utolsó sora Range("C4").Select a teljes oszlop kijelölésének megszüntetésére szolgál. C (Bármely kijelölés megszüntetése egy új kijelölés kijelölését jelenti, mivel az Excelben valaminek kijelöltnek kell maradnia). Ezt a sort elhagyhatja, ha szeretné.
További információ: Hogyan lehet befagyasztani 2 oszlopot az Excelben (5 módszer)
3. Sor és oszlop befagyasztása VBA-val az Excelben
Láttuk, hogyan fagyaszthatunk be egy sort és egy oszlopot külön-külön. Ezúttal nézzük meg, hogyan fagyaszthatjuk be a sort és az oszlopot együtt.
A sor és az oszlop együttes befagyasztásához ki kell választania egy cellát a befagyasztandó sor alatt és a befagyasztandó oszloptól jobbra (Cell C4 ebben a példában).
Ezután kell alkalmazni a Fagyasztási panelek parancs.
Tehát a VBA kód lesz:
⧭ VBA kód:
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
⧭ Kimenet:
Futtassa ezt a kódot, és az aktív munkalapot a következő sorig befagyasztva találja. 3 és oszlop C .
⧭ Megjegyzések:
- Itt használtunk cellát C4 a sor alatti cella kiválasztásához 3 és jobbra az oszlophoz B . Ez a cella C4 Ön az igényeinek megfelelően választja ki.
További információ: Hogyan fagyassza be a kiválasztott panelek az Excelben (10 mód)
Hasonló olvasmányok:
- Hogyan lehet több panelt befagyasztani az Excelben (4 kritérium)
- Billentyűparancs az Excel panelek befagyasztásához (3 parancsikon)
- Az első 3 oszlopok befagyasztása az Excelben (4 gyors módja)
4. Felhasználói űrlap fejlesztése a panelek befagyasztásához VBA-val az Excelben
Láttuk, hogyan lehet egy sort vagy egy oszlopot, illetve a sort és az oszlopot is befagyasztani VBA-val egy Excel munkalapon.
Most egy felhasználói űrlapot fogunk kifejleszteni, hogy az összes különböző feladatot egyetlen felületen belülre helyezzük.
⧭ Lépésről lépésre történő eljárás a felhasználói űrlap fejlesztéséhez:
⧪ 1. lépés:
- Sajtó ALT+F11 a billentyűzeten a Visual Basic
- A Visual Basic szerkesztő, menjen a Insert> UserForm egy új Felhasználói űrlap .
⧪ 2. lépés:
- Egy új UserForm a címen. UserForm1 létre fog jönni a VBA
- A bal oldalon a UserForm , akkor kap egy ToolBox a címen. Vezérlés Vigye az egeret az eszköztárra, és keressen egy TextBox (TextBox1) Miután találtunk egyet, húzzuk át a tetejére a UserForm .
- Hasonlóképpen, húzza a ListBox ( ListBox1 ) egészen a Szövegdoboz , és egy CommandButton (Parancsgomb1) a jobb alsó sarokba a UserForm . Módosítsa a kijelzőt a CommandButton a címre. OK . UserForm most így kell kinéznie:
⧪ 3. lépés:
Helyezzen be egy Modul ( Beszúrás> modul ) a VBA szerszámosláda
⧪ 4. lépés:
Illessze be a következőket VBA kód a 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"UserForm1 betöltése UserForm1.Show End Sub
⧪ 5. lépés:
Kattintson duplán a CommandButton megjelenik mint OK . A Private Sub nevű CommandButton1_Click A következő kódot illessze be:
If UserForm1.ListBox1.Selected(0) = True Akkor Set Rng = Selection Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(1) = True Akkor Set Rng = Selection Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(2) = True AkkorActiveWindow.FreezePanes = True Else MsgBox "Select At Least One. ", vbExclamation End If Unload UserForm1
⧪ 6. lépés:
Hasonlóképpen kattintson duplán a TextBox1 . A Private Sub nevű TextBox1_Change A következő kódot illessze be.
Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub
⧪ 7. lépés:
Az Ön UserForm Most már készen áll a használatra. Válassza ki a cellát a befagyasztandó sor alatt és a befagyasztandó oszloptól jobbra (Cell C4 itt), és futtassa a Makró a címen. Run_UserForm .
⧪ 8. lépés:
- A UserForm A kiválasztott cella címét ( C4 ) a TextBox Ha akarod, megváltoztathatod ezt.
- Ezután válassza ki a három lehetőség közül az egyiket a ListBox Itt mind a sort, mind az oszlopot be akarom fagyasztani, ezért kiválasztottam a Sor és oszlop befagyasztása .
- Ezután kattintson a OK .
⧪ 9. lépés:
A munkalapot kívánságodnak megfelelően befagyasztva találod. (Itt a sorig befagyasztva. 3 és oszlop B ).
Kapcsolódó tartalom: Hogyan lehet megállítani a képkockát az Excelben (6 gyors trükk)
5. A befagyasztási ablakok alternatívája az Excelben: Az ablak felosztása VBA-val
Sokat beszéltünk a fagyasztótáblák Az Excelben. Most pedig lássunk egy nagyon hasznos alternatívát a fagyasztótáblák az Excelben, a Osztott ablak parancs.
Megteheti ActiveWindow.SplitRow vagy ActiveWindow.SplitColumn a oldalon. VBA a munkalap soronkénti vagy oszloponkénti felosztásához.
Például a munkalap felosztása a soroktól 3 , használja:
ActiveWindow.SplitRow = 3
Hasonlóképpen, a munkalap oszlopból történő felosztásához B , használja:
ActiveWindow.SplitColumn = 2
⧭ VBA kód:
Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub
⧭ Kimenet:
Futtassa a kódot, az aktív munkalapot a sorból 3 és oszlop B .
Kapcsolódó tartalom: Hogyan alkalmazzon egyéni fagyasztási panelt az Excelben (3 egyszerű mód)?
Emlékezetes dolgok
- Alkalmazás előtt Fagyasztási panelek Excelben, akkor Oldja fel az összes fagyasztótábla fagyasztását Egyébként a Fagyasztási panelek parancs nem fog működni.
- A Fagyasztási panelek parancs nem fog működni a összevont sejtek. unmerge mielőtt alkalmazná a Fagyasztási panelek parancsot, ha van ilyen.
Következtetés
Tehát ezeket a módszereket kell használni Fagyasztási panelek a címen VBA Az Excelben. Megpróbáltam minden lehetséges módot megvitatni, hogy hogyan lehet alkalmazni Fagyasztási panelek egy Excel munkalap felett. Van bármilyen kérdése? Kérdezzen bátran. És ne felejtse el meglátogatni oldalunkat. ExcelWIKI további posztokért és frissítésekért.