Innholdsfortegnelse
I denne artikkelen skal jeg vise deg hvordan du kan fryse rutene i et Excel-regneark med Visual Basic of Applications (VBA). Mange ganger mens vi jobber i Excel, må vi fryse rutene av regnearket for enkelhets skyld og en bedre opplevelse. I dag vil du lære hvordan du kan oppnå dette med VBA .
Frys ruter med VBA i Excel (Quick View)
3973
Last ned øvelsesarbeidsbok
Last ned denne øvelsesarbeidsboken for å trene mens du leser denne artikkelen.
VBA Freeze Panes.xlsm
En introduksjon til Excel fryse ruter
I Microsoft Excel betyr å fryse ruter å fryse en rad eller en kolonne eller begge deler på en slik måte at selv om du går ned eller til høyre gjennom å rulle rullefeltet, vil den raden eller kolonnen alltid være synlig. Det gjøres vanligvis med rader eller kolonner som inneholder overskriftene til datasettet.
Se for eksempel på datasettet nedenfor. Her har vi fryst regnearket opp til rad 3 ( År ) og kolonne B ( Produktnavn ).
Når vi går ned i regnearket ved å rulle rullefeltet, vil vi oppdage at radene opp til rad 3 alltid er synlige.
Samme for kolonne B mens vi blar til høyre.
Nå, for å fryse ruter i et regneark manuelt, velg cellen like etter raden og kolonnen (Celle C4 i dette eksemplet) og gå til Vis >Frys ruter > Frys ruter i Excel-verktøylinjen.
For å fryse bare raden, velg hele raden og gå til Vis > Frys ruter > Frys ruter i Excel-verktøylinjen.
På samme måte, for å fryse bare kolonnen, velg hele kolonnen og gå til Vis > Frys ruter > Frys ruter i Excel-verktøylinjen.
⧭ Merknader:
- Velg Frys øverste rad for å fryse bare den øverste raden.
- Tilsvarende velger du Freeze First Column for å fryse bare den første kolonnen.
5 metoder for å fryse ruter med VBA i Excel
Vi har lært hva som er å fryse ruter i Excel og hvordan du gjør det manuelt. La oss nå gå til hoveddiskusjonen vår i dag, hvordan fryse ruter med VBA .
1. Frys bare en rad med VBA i Excel
Først av alt, la oss se hvordan vi kan fryse bare en rad med VBA .
Som diskutert tidligere, for å fryse bare en rad, først må du velge hele raden under raden som skal fryses (rad 4 i dette eksemplet).
Deretter må du bruke Freeze Panes -kommandoen.
Så VBA -koden vil være:
⧭ VBA-kode:
4044
⧭ Utdata:
Kjør denne koden. Og du finner det aktive regnearket frosset til rad 3 .
⧭ Merknader:
- Her har vi brukt celle C4 for å velge hvilken som helst celle i rad 4 i regnearket. Duvelg det i henhold til ditt behov.
- Den siste linjen i koden Range(“C4”).Velg er for å fjerne markeringen av hele raden 4 ( Å fjerne markeringen betyr å velge et nytt utvalg, som i Excel, noe må forbli valgt). Du kan utelate denne linjen hvis du vil.
Les mer: Hvordan fryse øverste rad i Excel (4 enkle metoder)
2. Frys bare en kolonne med VBA i Excel
Vi har sett hvordan vi kan fryse en rad med VBA . La oss nå se hvordan du fryser en kolonne med VBA .
I likhet med raden, for å fryse bare en kolonne, må du først velge hele kolonnen rett til kolonnen som skal fryses (Kolonne C i dette eksemplet).
Deretter må du bruke kommandoen Freeze Panes .
Så VBA -koden vil være:
⧭ VBA-kode:
4719
⧭ Utdata:
Kjør denne koden. Og du vil finne det aktive regnearket frosset til kolonne C .
⧭ Merknader:
- Her har vi brukt celle C4 for å velge hvilken som helst celle i kolonne C i regnearket. Du velger det i henhold til ditt behov.
- Den siste linjen i koden Range(“C4”).Velg er for å fjerne markeringen av hele kolonnen C (Å fjerne markeringen betyr å velge et nytt utvalg, som i Excel, noe må forbli valgt). Du kan utelate denne linjen hvis du vil.
Les mer: Hvordan fryse 2 kolonneri Excel (5 metoder)
3. Frys både rad og kolonne med VBA i Excel
Vi har sett hvordan vi kan fryse en rad og en kolonne hver for seg. Denne gangen, la oss se hvordan vi kan fryse både raden og kolonnen sammen.
For å fryse både raden og kolonnen sammen, må du velge en celle under raden som skal fryses og rett til kolonnen skal fryses (Celle C4 i dette eksemplet).
Deretter må du bruke kommandoen Freeze Panes .
Så VBA -koden vil være:
⧭ VBA-kode:
6529
⧭ Utgang:
Kjør denne koden. Og du vil finne det aktive regnearket frosset til rad 3 og kolonne C .
⧭ Merknader:
- Her har vi brukt celle C4 for å velge en celle under rad 3 og høyre til kolonne B . Det er celle C4 . Du velger det i henhold til ditt behov.
Les mer: Slik fryser du valgte ruter i Excel (10 måter)
Lignende avlesninger:
- Hvordan fryse flere ruter i Excel (4 kriterier)
- Tastatursnarvei for å fryse ruter i Excel (3 snarveier)
- Hvordan fryse de første 3 kolonnene i Excel (4 raske måter)
4. Utvikle et brukerskjema for å fryse ruter med VBA i Excel
Vi har sett hvordan vi kan fryse en rad eller en kolonne eller både rad og kolonne med VBA i et Excel-regneark.
Nå skal vi utvikle et brukerskjema for å bringe alledistinkte oppgaver innenfor et enkelt grensesnitt.
⧭ Trinn for trinn prosedyre for å utvikle brukerskjemaet:
⧪ Trinn 1:
- Trykk ALT+F11 på tastaturet for å åpne Visual Basic
- I Visual Basic -redigeringsprogrammet går du til Sett inn > Brukerskjema for å sette inn et nytt brukerskjema .
⧪ Trinn 2:
- En ny UserForm kalt UserForm1 vil bli opprettet i VBA
- Til venstre for Brukerskjema , får du en Verktøykasse kalt Kontroll . Hold musen over verktøykassen og søk etter en tekstboks (tekstboks1) . Etter å ha funnet en, dra den over toppen av UserForm .
- På samme måte drar du en ListBox ( ListBox1 ) til høyre til Tekstboks og en Kommandoknapp (Kommandoknapp1) nederst til høyre i Brukerskjemaet . Endre visningen av Kommandoknapp til OK . UserForm skal nå se slik ut:
⧪ Trinn 3:
Sett inn en Modul ( Sett inn > Module ) fra VBA -verktøykassen
⧪ Trinn 4 :
Sett inn følgende VBA -kode i modulen .
7458
⧪ Trinn 5:
Dobbeltklikk på Kommandoknappen som vises som OK . En privat sub kalt CommandButton1_Click åpnes. Sett inn følgende kode der:
3607
⧪ Trinn6:
Dobbeltklikk på samme måte på Tekstboks1 . En privat sub kalt TextBox1_Change åpnes. Sett inn følgende kode der.
2033
⧪ Trinn 7:
Din UserForm er nå klar til å bruk. Velg cellen under til raden som skal fryses og høyre til kolonnen som skal fryses (Celle C4 her), og kjør Makroen kalt Run_UserForm .
⧪ Trinn 8:
- UserForm vil bli lastet. Du finner adressen til den valgte cellen ( C4 ) i tekstboksen . Hvis du vil, kan du endre dette.
- Velg deretter et av de tre tilgjengelige alternativene i ListBox . Her vil jeg fryse både rad og kolonne, så jeg har valgt Freeze Both Row and Column .
- Klikk så OK .
⧪ Trinn 9:
Du vil finne regnearket frosset i henhold til ditt ønske. (Her frosset opp til rad 3 og kolonne B ).
Relatert innhold: Hvordan fryse ramme i Excel (6 raske triks)
5. Alternativ til fryserutene i Excel: Del vinduet med VBA
Vi har snakket mye om fryserrutene i Excel. La oss nå se et veldig nyttig alternativ til fryse rutene i Excel, kommandoen Split Window .
Du kan ActiveWindow.SplitRow eller ActiveWindow.SplitColumn i VBA for å dele regnearket radvis eller kolonne-For eksempel, for å dele regnearket fra rad 3 , bruk:
6574
Tilsvarende, for å dele regnearket fra kolonne B , bruk:
6420
⧭ VBA-kode:
7994
⧭ Utdata:
Kjør koden, den deler det aktive regnearket fra rad 3 og kolonne B .
Relatert innhold : Slik bruker du tilpassede fryseruter i Excel (3 enkle måter)
Ting å huske
- Før du bruker Frys ruter i Excel må du Ufryse alle fryserutene som allerede er brukt. Ellers vil ikke Freeze Panes -kommandoen fungere.
- Freeze Panes -kommandoen vil ikke fungere gjennom de sammenslåtte -cellene. Så opphev sammen dem før du bruker kommandoen Freeze Panes hvis det er noen.
Konklusjon
Så disse er metodene for å bruke Frys ruter med VBA i Excel. Jeg har prøvd å diskutere alle mulige måter å bruke Frys ruter over et regneark i Excel. Har du noen spørsmål? Spør oss gjerne. Og ikke glem å besøke siden vår ExcelWIKI for flere innlegg og oppdateringer.