Panelen bevriezen met VBA in Excel (5 geschikte manieren)

  • Deel Dit
Hugh West

In dit artikel laat ik u zien hoe u de vensters van een Excel-werkblad kunt bevriezen met Visual Basic of Applications (VBA). Vaak moeten we tijdens het werken in Excel de vensters van het werkblad bevriezen voor het gemak en een betere ervaring. Vandaag leert u hoe u dit kunt bereiken met VBA .

Panelen bevriezen met VBA in Excel (Snelle weergave)

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

Download Praktijk Werkboek

Download dit oefenwerkboek om te oefenen terwijl u dit artikel leest.

VBA-panelen bevriezen.xlsm

Een inleiding tot Excel Freeze Panes

In Microsoft Excel betekent bevriezen van vensters een rij of een kolom bevriezen of beide op zo'n manier dat zelfs als u naar beneden of rechts gaat door de schuifbalk te verschuiven, die rij of kolom altijd zichtbaar blijft. Dit wordt gewoonlijk gedaan met rijen of kolommen die de koppen van de gegevensverzameling bevatten.

Kijk bijvoorbeeld naar de dataset hieronder. Hier hebben we het werkblad bevroren tot rij 3 ( Jaren ) en kolom B ( Producten Naam ).

Wanneer we het werkblad omlaag gaan door de schuifbalk te verschuiven, zullen we zien dat de rijen tot en met rij 3 zijn altijd zichtbaar.

Hetzelfde geldt voor de kolom B terwijl we naar rechts scrollen.

Om vensters in een werkblad handmatig te bevriezen, selecteert u de cel net na de rij en kolom (Cel C4 in dit voorbeeld) en ga naar Bekijk> Vriespanelen> Vriespanelen in de werkbalk van Excel.

Om alleen de rij te bevriezen, selecteert u de hele rij en gaat u naar Bekijk> Vriespanelen> Vriespanelen in de werkbalk van Excel.

Om alleen de kolom te bevriezen, selecteert u de hele kolom en gaat u naar Bekijk> Vriespanelen> Vriespanelen in de werkbalk van Excel.

⧭ Opmerkingen:

  • Selecteer Bevriezen bovenste rij om alleen de bovenste rij te bevriezen.
  • Selecteer ook Eerste kolom bevriezen om alleen de eerste kolom te bevriezen.

5 Methoden om vensters te bevriezen met VBA in Excel

We hebben geleerd wat het is om vensters in Excel te bevriezen en hoe je dat handmatig kunt doen. Laten we nu naar onze belangrijkste discussie van vandaag gaan, hoe je vensters kunt bevriezen met VBA .

1. Alleen een rij bevriezen met VBA in Excel

Laten we eerst eens kijken hoe we alleen een rij met VBA .

Zoals eerder besproken, moet u, om alleen een rij te bevriezen, eerst de hele rij onder de te bevriezen rij selecteren (Rij 4 in dit voorbeeld).

Dan moet je de Vorstpanelen commando.

Dus de VBA code zal zijn:

⧭ VBA-code:

 Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Uitgang:

Voer deze code uit. En je zult zien dat het actieve werkblad bevroren is tot rij 3 .

⧭ Opmerkingen:

  • Hier hebben we cel C4 om een willekeurige cel van de rij te selecteren 4 van het werkblad. U selecteert het volgens uw behoefte.
  • De laatste regel van de code Range("C4").Select is voor het deselecteren van de hele rij 4 (Deselecteren betekent een nieuwe selectie maken, want in Excel moet iets geselecteerd blijven). U kunt deze regel weglaten als u dat wilt.

Lees meer: Hoe de bovenste rij in Excel bevriezen (4 eenvoudige methodes)

2. Alleen een kolom bevriezen met VBA in Excel

We hebben gezien hoe we een rij kunnen bevriezen met VBA Laten we nu eens kijken hoe we een kolom kunnen bevriezen met VBA .

Net als bij de rij, moet u, om alleen een kolom te bevriezen, eerst de hele kolom rechts van de te bevriezen kolom selecteren (Kolom C in dit voorbeeld).

Dan moet je de Vorstpanelen commando.

Dus de VBA code zal zijn:

⧭ VBA-code:

 Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Uitgang:

Voer deze code uit. En je zult zien dat het actieve werkblad bevroren is tot en met kolom C .

⧭ Opmerkingen:

  • Hier hebben we cel C4 om een willekeurige cel van de kolom te selecteren C van het werkblad. U selecteert het volgens uw behoefte.
  • De laatste regel van de code Range("C4").Select is bedoeld om de selectie van de hele kolom ongedaan te maken. C (Deselecteren betekent een nieuwe selectie maken, want in Excel moet iets geselecteerd blijven). U kunt deze regel weglaten als u dat wilt.

Lees meer: Hoe 2 kolommen bevriezen in Excel (5 methoden)

3. Rij en kolom bevriezen met VBA in Excel

We hebben gezien hoe we een rij en een kolom afzonderlijk kunnen bevriezen. Laten we nu eens kijken hoe we zowel de rij als de kolom samen kunnen bevriezen.

Om zowel de rij als de kolom samen te bevriezen, moet u een cel selecteren onder de rij die moet worden bevroren en rechts van de kolom die moet worden bevroren (Cel C4 in dit voorbeeld).

Dan moet je de Vorstpanelen commando.

Dus de VBA code zal zijn:

⧭ VBA-code:

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

⧭ Uitgang:

Voer deze code uit. En je zult zien dat het actieve werkblad bevroren is tot rij 3 en kolom C .

⧭ Opmerkingen:

  • Hier hebben we cel C4 om een cel onder de rij te selecteren 3 en rechts naar de kolom B Dat is een cel. C4 U kiest het volgens uw behoefte.

Lees meer: Hoe kan ik geselecteerde vensters in Excel bevriezen (10 manieren)?

Vergelijkbare lezingen:

  • Hoe meerdere vensters in Excel bevriezen (4 criteria)
  • Sneltoets om vensters in Excel te bevriezen (3 sneltoetsen)
  • Hoe de eerste 3 kolommen in Excel bevriezen (4 snelle manieren)

4. Een gebruikersformulier ontwikkelen om vensters te bevriezen met VBA in Excel

We hebben gezien hoe we met VBA in een Excel-werkblad een rij of een kolom of zowel de rij als de kolom kunnen bevriezen.

Nu gaan we een Userform ontwikkelen om alle verschillende taken in één interface onder te brengen.

⧭ Stap voor stap procedure om het Userform te ontwikkelen:

⧪ Stap 1:

  • Druk op ALT+F11 op uw toetsenbord om de Visual Basic
  • In de Visual Basic editor, ga naar Invoegen> UserForm om een nieuwe Gebruikersformulier .

⧪ Stap 2:

  • Een nieuwe UserForm genaamd UserForm1 wordt aangemaakt in de VBA
  • Links van de UserForm krijg je een ToolBox genaamd Controle Beweeg uw muis over de gereedschapskist en zoek naar een TextBox (TextBox1) Nadat je er een hebt gevonden, sleep je hem over de bovenkant van de UserForm .
  • Sleep ook een ListBox ( ListBox1 ) recht op de Tekstvak en een Commandoknop (Commandbutton1) naar de rechterbenedenhoek van de UserForm De weergave van de CommandButton naar OK . Uw UserForm zou er nu zo uit moeten zien:

⧪ Stap 3:

Voeg een Module ( Invoegen> Module ) van de VBA gereedschapskist

⧪ Stap 4:

Voeg het volgende in VBA code in de Module .

 Sub Run_UserForm() UserForm1.Caption = "Panelen bevriezen" UserForm1.TextBox1.Text = Selection.Address UserForm1.TextBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.ListStyle = fmListStyleOption UserForm1.ListBox1.AddItem "1. Rij bevriezen" UserForm1.ListBox1.AddItem "2. Kolom bevriezen" UserForm1.ListBox1.AddItem "3. Zowel rij als kolom bevriezen".Load UserForm1 UserForm1.Show End Sub 

⧪ Stap 5:

Dubbelklik op de CommandButton weergegeven als OK Een privé-sub genaamd CommandButton1_Click zal openen. Voeg daar de volgende code in:

 Als UserForm1.ListBox1.Selected(0) = True Dan Set Rng = Selectie Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(1) = True Dan Set Rng = Selectie Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(2) = True DanActiveWindow.FreezePanes = True Else MsgBox "Select At least One. ", vbExclamation End If Unload UserForm1 

⧪ Stap 6:

Dubbelklik ook op de TextBox1 Een privé-sub genaamd TextBox1_Change zal openen. Voeg daar de volgende code in.

 Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub 

⧪ Stap 7:

Uw UserForm is nu klaar voor gebruik. Selecteer de cel onder de rij die moet worden bevroren en rechts van de kolom die moet worden bevroren (Cel C4 hier), en voer de Macro genaamd Run_UserForm .

⧪ Stap 8:

  • De UserForm Het adres van de geselecteerde cel ( C4 ) in de TextBox Als je wilt, kun je dit veranderen.
  • Selecteer vervolgens een van de drie beschikbare opties in het ListBox Hier wil ik zowel de rij als de kolom bevriezen, dus ik heb geselecteerd Rij en kolom bevriezen .
  • Klik dan op OK .

⧪ Stap 9:

U vindt het werkblad bevroren volgens uw wens. (Hier bevroren tot rij 3 en kolom B ).

Gerelateerde inhoud: Het frame bevriezen in Excel (6 snelle trucs)

5. Alternatief van de vorstvensters in Excel: het venster splitsen met VBA

We hebben veel gesproken over de vriesruiten in Excel. Laten we nu eens kijken naar een zeer nuttig alternatief voor de vriesruiten in Excel, de Gesplitst venster commando.

U kunt ActiveWindow.SplitRow of ActiveWindow.SplitColumn in VBA om het werkblad rijgewijs of kolomgewijs te splitsen.

Bijvoorbeeld, om het werkblad te splitsen van rij 3 gebruiken:

 ActiveWindow.SplitRow = 3 

Evenzo, om het werkblad te splitsen van kolom B gebruiken:

 ActiveWindow.SplitColumn = 2 

⧭ VBA-code:

 Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub 

⧭ Uitgang:

Voer de code uit, het zal het actieve werkblad splitsen van rij 3 en kolom B .

Gerelateerde inhoud: Hoe aangepaste vriesvensters in Excel toe te passen (3 eenvoudige manieren)

Dingen om te onthouden

  • Voor het aanbrengen Vorstpanelen in Excel, moet u Ontdooi alle bevroren panelen reeds toegepast. Anders wordt de Vorstpanelen commando zal niet werken.
  • De Vorstpanelen commando werkt niet via de samengevoegd cellen. unmerge ze voordat ze de Vorstpanelen commando als dat er is.

Conclusie

Dit zijn dus de te gebruiken methoden Vorstpanelen met VBA in Excel. Ik heb geprobeerd alle mogelijke manieren te bespreken om Vorstpanelen over een werkblad in Excel. Heb je vragen? Stel ze ons gerust. En vergeet niet onze site te bezoeken ExcelWIKI voor meer berichten en updates.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.