VBA-valgområde - Hvordan vælges et interval i Excel VBA?

Indholdsfortegnelse

Excel VBA-valgområde

Efter de grundlæggende ting med VBA er det vigtigt at forstå, hvordan man arbejder med en række celler i regnearket. Når du begynder at udføre koderne næsten det meste af tiden, skal du arbejde med en række celler, så det er vigtigt at forstå, hvordan man arbejder med en række celler, og et sådant koncept er VBA "Selection of Range". I denne artikel viser vi dig, hvordan du arbejder med "Selection Range" i Excel VBA.

Valg og rækkevidde er to forskellige emner, men når vi siger at vælge rækkevidde eller valg af rækkevidde, er det et enkelt koncept. RANGE er et objekt, "Selection" er en egenskab og "Select" er en metode. Folk har en tendens til at forveksle med disse vilkår. Det er vigtigt at kende forskellene generelt.

Hvordan vælges et interval i Excel VBA?

Eksempel nr. 1

Antag for eksempel, at du derefter vil vælge cellen A1 i regnearket. Først skal vi specificere celleadressen ved hjælp af et RANGE-objekt som nedenfor.

Kode:

Efter at have nævnt den celle, som vi skal vælge, skal du sætte en prik for at se IntelliSense-listen, som er knyttet til RANGE-objektet.

Form denne række lister, vælg "Vælg" -metoden.

Kode:

Underområde_eksempel1 () rækkevidde ("A1") Vælg afslut sub

Nu vælger denne kode cellen A1 i det aktive regneark.

Hvis du vil vælge cellen i de forskellige regneark, skal vi først angive regnearket med dets navn. For at specificere regnearket skal vi bruge “WORKSHEET” -objektet og indtaste regnearknavnet med dobbelt anførselstegn.

For eksempel, hvis du vil vælge cellen A1 i regnearket "Dataark", skal du først angive regnearket ligesom nedenfor.

Kode:

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

Fortsæt derefter koden for at specificere, hvad vi skal gøre i dette ark. I "Dataark" skal vi vælge cellen A1, så koden bliver RANGE ("A1").

Kode:

Underområde_eksempel1 () regneark ("datablad"). Rækkevidde ("A1"). Vælg afslut sub

Når du prøver at udføre denne kode, får vi nedenstående fejl.

Årsagen til dette er "vi kan ikke direkte levere rækkeviddeobjekt og vælge metode til regnearkobjektet."

Først skal vi vælge eller aktivere VBA-regnearket, og så kan vi gøre hvad som helst de ting, vi ønskede at gøre.

Kode:

Underområde_eksempel1 () regneark ("datablad"). Aktivér rækkevidde ("A1"). Vælg afslut sub

Nu vælger dette cellen A1 i regnearket "Dataark".

Eksempel 2 - Arbejde med aktuelt valgt område

Vælg er en anden ting, og det er anderledes at arbejde med et allerede valgt udvalg af celler. Antag, at du vil indsætte en værdi "Hej VBA" til cellen A1, så kan vi gøre det på to måder.

For det første kan vi videregive VBA-koden som RANGE (“A1”). Værdi = “Hej, VBA.”

Kode:

Sub Range_Example1 () Range ("A1"). Værdi = "Hello VBA" End Sub

Hvad denne kode vil gøre er, at dette bare indsætter værdien "Hej VBA" i cellen A1 uanset hvilken celle der aktuelt er valgt.

Se på ovenstående resultat af koden. Når vi udfører denne kode, har den indsat værdien "Hej VBA", selvom den aktuelt valgte celle er B2.

For det andet kan vi indsætte værdien i cellen ved hjælp af egenskaben "Selection". Til dette først skal vi vælge cellen manuelt og udføre koden.

Kode:

Sub Range_Example1 () Selection.Value = "Hej VBA" Afslut sub

Hvad denne kode vil gøre er, at dette vil indsætte værdien "Hej VBA" til den aktuelt valgte celle. Se f.eks. Nedenstående eksempel på udførelse.

Da jeg udførte koden, var min nuværende valgte celle B2, og vores kode indsatte den samme værdi til den aktuelt valgte celle.

Nu vælger jeg cellen B3 og udfører, også der får vi den samme værdi.

En ting mere, vi kan gøre med egenskaben "markering", er, at vi også kan indsætte værdi til mere end en celle. For eksempel vil jeg vælge celleområdet fra A1 til B5 nu.

Nu, hvis jeg udfører koden for alle de valgte celler, får vi værdien som "Hej VBA."

Så den enkle forskel mellem at specificere celleadresse efter RANGE-objekt og Selection-egenskab er, at inden for området indsætter objektkode værdi til de celler, der er angivet eksplicit.

Men i Selection-objektet betyder det ikke noget, hvilken celle du befinder dig i. Det indsætter den nævnte værdi i alle de valgte celler.

Ting at huske her

  • Vi kan ikke levere den valgte metode direkte under Selection-ejendom.
  • RANGE er et objekt, og markering er ejendom.
  • I stedet for rækkevidde kan vi bruge CELLS-ejendom.

Interessante artikler...