VBA-utvalgsområde - Hvordan velge et område i Excel VBA?

Innholdsfortegnelse

Excel VBA-utvalgsområde

Etter grunnleggende ting med VBA er det viktig å forstå hvordan man kan arbeide med en rekke celler i regnearket. Når du begynner å utføre kodene praktisk talt det meste av tiden, må du jobbe med en rekke celler, så det er viktig å forstå hvordan du kan arbeide med en rekke celler, og et slikt konsept er VBA "Selection of Range." I denne artikkelen vil vi vise deg hvordan du arbeider med "Selection Range" i Excel VBA.

Utvalg og rekkevidde er to forskjellige emner, men når vi sier å velge rekkevidde eller utvalg av utvalg, er det et enkelt konsept. RANGE er et objekt, "Selection" er en egenskap og "Select" er en metode. Folk har en tendens til å forveksle med disse vilkårene. Det er viktig å kjenne til forskjellene generelt.

Hvordan velge et område i Excel VBA?

Eksempel 1

Anta for eksempel at du vil velge cellen A1 i regnearket. Først må vi spesifisere celleadressen ved å bruke et RANGE-objekt som nedenfor.

Kode:

Etter å ha nevnt cellen som vi trenger å velge, setter du en prikk for å se IntelliSense-listen, som er tilknyttet RANGE-objektet.

Form denne varianten av lister, velg "Velg" -metoden.

Kode:

Sub Range_Example1 () Range ("A1"). Velg End Sub

Nå vil denne koden velge cellen A1 i det aktive regnearket.

Hvis du vil velge cellen i de forskjellige regnearkene, må vi først spesifisere regnearket etter navnet. For å spesifisere regnearket, må vi bruke “WORKSHEET” -objektet og skrive inn regnearknavnet med to anførselstegn.

Hvis du for eksempel vil velge celle A1 i regnearket "Dataark", spesifiser du først regnearket som nedenfor.

Kode:

Underområde_eksempel1 () regneark ("datablad") slutt sub

Fortsett deretter koden for å spesifisere hva vi trenger å gjøre i dette arket. I "Dataark" må vi velge celle A1, så koden blir RANGE ("A1"). Velg.

Kode:

Underområde_eksempel1 () regneark ("Dataark"). Område ("A1"). Velg Avslutt sub

Når du prøver å utføre denne koden, får vi feilen nedenfor.

Årsaken til dette er "vi kan ikke direkte levere rekkeviddeobjekt og velge metode til regnearkobjektet."

Først må vi velge eller aktivere VBA-regnearket, og så kan vi gjøre hva som helst vi ønsket å gjøre.

Kode:

Underområde_eksempel1 () Regneark ("Dataark"). Aktiver område ("A1"). Velg Avslutt

Nå vil dette velge cellen A1 i regnearket "Dataark."

Eksempel 2 - Arbeide med gjeldende valgt område

Velg er en annen ting, og det er annerledes å jobbe med et allerede valgt utvalg av celler. Anta at du vil sette inn en verdi "Hei VBA" i cellen A1, så kan vi gjøre det på to måter.

For det første kan vi sende VBA-koden direkte som RANGE ("A1"). Verdi = "Hei, VBA."

Kode:

Sub Range_Example1 () Range ("A1"). Verdi = "Hello VBA" End Sub

Hva denne koden vil gjøre er at dette bare setter inn verdien “Hei VBA” i cellen A1, uavhengig av hvilken celle som er valgt for øyeblikket.

Se på resultatet ovenfor av koden. Når vi utfører denne koden, har den satt inn verdien "Hei VBA", selv om den valgte cellen er B2.

For det andre kan vi sette inn verdien i cellen ved å bruke "Selection" -egenskapen. For dette først må vi velge cellen manuelt og utføre koden.

Kode:

Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub

Hva denne koden vil gjøre er at dette vil sette inn verdien "Hello VBA" til den valgte cellen. Se for eksempel på eksemplet nedenfor for utførelse.

Da jeg utførte koden, var min nåværende valgte celle B2, og koden vår satte den samme verdien i den valgte cellen.

Nå skal jeg velge celle B3 og utføre, der vil vi også få samme verdi.

En ting til vi kan gjøre med "utvalg" -egenskapen er at vi også kan sette inn verdi til mer enn en celle. For eksempel vil jeg velge celleområdet fra A1 til B5 nå.

Nå, hvis jeg utfører koden for alle de valgte cellene, vil vi få verdien som "Hei VBA."

Så den enkle forskjellen mellom å spesifisere celleadresse etter RANGE-objekt og Selection-egenskap er at i Range-objektkode vil sette inn verdi til cellene som er spesifisert spesifisert.

Men i Selection-objektet spiller det ingen rolle hvilken celle du er i. Det vil sette den nevnte verdien til alle de valgte cellene.

Ting å huske her

  • Vi kan ikke direkte levere valgmetoden under Selection-egenskapen.
  • RANGE er et objekt, og utvalg er eiendom.
  • I stedet for rekkevidde kan vi bruke CELLS-eiendom.

Interessante artikler...