VBA OFFSET-funksjon - Hvordan bruke Excel VBA Offset Property (eksempel)

Innholdsfortegnelse

Excel VBA OFFSET-funksjon

VBA Offset- funksjonen brukes til å flytte eller henvise til en referanse som hopper over et bestemt antall rader og kolonner. Argumentene for denne funksjonen i VBA er de samme som argumentene i regnearket.

Anta for eksempel at du har et sett med data som nedenfor.

Nå fra celle A1 vil du flytte ned 4 celler, og du vil velge den femte cellen, dvs. A5-cellen.

På samme måte, hvis du vil flytte deg ned fra A1 celle 2-rader og gå 2 kolonner til høyre og velge den cellen, dvs. C2-cellen.

I disse tilfellene er OFFSET-funksjonen veldig nyttig. Spesielt i VBA OFFSET er funksjonen bare fantastisk.

OFFSET brukes med Range Object i Excel VBA

I VBA kan vi ikke skrive inn ordet OFFSET direkte. Vi må først bruke VBA RANGE-objektet, og fra det rekkeviddeobjektet kan vi bruke OFFSET-egenskapen.

I excel er området ikke annet enn en celle eller et område av cellen. Siden OFFSET refererer til celler, må vi først bruke objektet RANGE, og deretter kan vi bruke OFFSET-metoden.

Syntaks for OFFSET i VBA Excel

  • Radforskyvning: Hvor mange rader du vil forskyve fra den valgte cellen. Her er valgt celle A1, dvs. Range (“A1”).
  • Kolonneforskyvning: Hvor mange kolonner du vil forskyve fra den valgte cellen. Her er valgt celle A, 1, dvs. Område (“A1”).

Eksempler

Eksempel 1

Tenk på dataene nedenfor, for eksempel demonstrasjon.

Nå vil jeg velge cellen A6 fra cellen A1. Start makro- og referansecellen ved hjelp av Range-objektet.

Kode:

Sub Offset_Example1 () Range ("A1") offset (End Sub

Nå vil jeg velge cellen A6, dvs. jeg vil gjøre ned 5 celler. Så skriv inn 5 som parameter for radforskyvning.

Kode:

Sub Offset_Example1 () Range ("A1") offset (5 End Sub

Siden jeg velger i samme kolonne, utelater jeg kolonnedelen. Lukk braketten og sett en prikk (.) Og skriv metoden "Velg".

Kode:

Sub Offset_Example1 () Range ("A1") Offset (5). Velg End Sub

Kjør nå denne koden ved hjelp av F5-tasten, eller du kan kjøre manuelt for å velge cellen A6 som vist nedenfor.

Produksjon:

Eksempel 2

Ta nå de samme dataene, men her vil du se hvordan du også bruker kolonneforskyvningsargumentet. Nå vil jeg velge cellen C5.

Siden jeg først vil velge celle C5, vil jeg flytte ned 4 celler og ta de rette 2 kolonnene for å nå cellen C5. Koden nedenfor vil gjøre jobben for meg.

Kode:

Sub Offset_Example2 () Range ("A1") Offset (4, 2). Velg End Sub

Jeg kjører denne koden manuelt eller ved hjelp av F5-tasten. Deretter vil den velge cellen C5, som vist på skjermbildet nedenfor.

Produksjon:

Eksempel 3

Vi har sett hvordan vi skal kompensere rader og kolonner. Vi kan også velge cellene ovenfor fra de spesifiserte cellene. For eksempel, hvis du er i cellen A10 og du vil velge A1-celle, hvordan velger du det?

I tilfelle vi beveger oss nedover cellen, kan vi angi et positivt tall, så her i tilfelle vi beveger oss opp, må vi oppgi negative tall.

Fra A9-celle må vi bevege oss opp med 8 rader, dvs. -8.

Kode:

Sub Offset_Example1 () Range ("A9") Offset (-8). Velg End Sub

Hvis du kjører denne koden ved hjelp av F5-tasten, eller hvis du kan kjøre denne koden manuelt, vil den velge cellen A1 fra A9-cellen.

Produksjon:

Eksempel 4

Anta at du er i cellen C8. Fra denne cellen vil du velge cellen A10.

Fra den aktive cellen, dvs. C8-cellen, må vi først flytte ned to rader, og vi må flytte til venstre med to kolonner for å velge cellen A10.

I tilfelle du flytter til venstre for å velge kolonnen, må vi spesifisere at tallet er negativt. Så her må vi komme tilbake med -2 ​​kolonner.

Kode:

Sub Offset_Example2 () Range ("C8"). Offset (2, -2). Velg End Sub

Kjør nå denne koden ved hjelp av F5-tasten eller kjør manuelt, den vil velge A10-celle som vist nedenfor:

Produksjon:

Ting å huske

  • I tilfelle flytting opp av rader, må vi spesifisere antallet i negative.
  • Hvis du går til venstre for å velge kolonnen, bør tallet være negativt.
  • A1-celle er første rad og første kolonne.
  • Aktiv celle betyr for tiden utvalgte celler.
  • Hvis du vil velge cellen ved hjelp av OFFSET, må du nevne ".Velg."
  • Hvis du vil kopiere cellen ved hjelp av OFFSET, må du nevne ".Copy."

Interessante artikler...