VBA OFFSET-funktion - Sådan bruges Excel VBA Offset Property (eksempel)

Indholdsfortegnelse

Excel VBA OFFSET-funktion

VBA Offset- funktion bruges til at flytte eller henvise til en reference, der springer et bestemt antal rækker og kolonner over, argumenterne for denne funktion i VBA er de samme som for argumenterne i regnearket.

Antag for eksempel, at du har et sæt data som nedenstående.

Nu fra celle A1, du ønsker at flytte ned 4 celler, og du vil markere, at 5 th celle, dvs. A5 celle.

Tilsvarende, hvis du vil flytte ned fra A1 celle 2 rækker og gå 2 kolonner til højre og vælge den celle, dvs. C2 celle.

I disse tilfælde er OFFSET-funktionen meget nyttig. Især i VBA OFFSET er funktionen bare fænomenal.

OFFSET bruges med Range Object i Excel VBA

I VBA kan vi ikke direkte indtaste ordet OFFSET. Vi skal først bruge VBA RANGE-objektet, og fra dette intervalobjekt kan vi bruge OFFSET-egenskaben.

I excel er intervallet intet andet end en celle eller et celleområde. Da OFFSET refererer til celler, skal vi først bruge objektet RANGE, og derefter kan vi bruge OFFSET-metoden.

Syntaks for OFFSET i VBA Excel

  • Rækkeforskydning: Hvor mange rækker, du vil forskyde fra den valgte celle. Her er den valgte celle A1, dvs. Range (“A1”).
  • Kolonneforskydning: Hvor mange kolonner, du vil udligne fra den valgte celle. Her er valgt celle A, 1, dvs. Range (“A1”).

Eksempler

Eksempel nr. 1

Overvej nedenstående data, for eksempel demonstration.

Nu vil jeg vælge celle A6 fra celle A1. Start makroen og referencecellen ved hjælp af Range-objektet.

Kode:

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

Nu vil jeg vælge cellen A6, dvs. jeg vil gøre 5 celler nede. Så indtast 5 som parameter for rækkeforskydning.

Kode:

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

Da jeg vælger i samme kolonne, udelader jeg kolonnedelen. Luk beslaget og sæt en prik (.), Og skriv metoden "Vælg".

Kode:

Sub Offset_Example1 () Range ("A1") Offset (5). Vælg End Sub

Kør nu denne kode ved hjælp af F5-tasten, eller du kan køre manuelt for at vælge cellen A6 som vist nedenfor.

Produktion:

Eksempel 2

Tag nu de samme data, men her vil du se, hvordan du også bruger kolonneforskydningsargumentet. Nu vil jeg vælge cellen C5.

Da jeg først vil vælge celle C5, vil jeg flytte ned 4 celler og tage de rigtige 2 kolonner for at nå cellen C5. Nedenstående kode ville gøre jobbet for mig.

Kode:

Sub Offset_Example2 () Range ("A1") Offset (4, 2). Vælg End Sub

Jeg kører denne kode manuelt eller ved hjælp af F5-tasten. Derefter vælger den cellen C5 som vist i nedenstående skærmbillede.

Produktion:

Eksempel 3

Vi har set, hvordan man udligner rækker og kolonner. Vi kan også vælge de ovennævnte celler fra de angivne celler. For eksempel, hvis du er i cellen A10, og du vil vælge A1-celle, hvordan vælger du det?

Hvis vi bevæger os ned ad cellen, kan vi indtaste et positivt tal, så her i tilfælde af at bevæge os op, skal vi indtaste negative tal.

Fra A9-celle skal vi bevæge os op med 8 rækker, dvs. -8.

Kode:

Sub Offset_Example1 () Range ("A9") Offset (-8). Vælg End Sub

Hvis du kører denne kode ved hjælp af F5-tasten, eller du kan køre denne kode manuelt, vælger den cellen A1 fra A9-cellen.

Produktion:

Eksempel 4

Antag, at du er i cellen C8. Fra denne celle vil du vælge cellen A10.

Fra den aktive celle, l, dvs. C8-cellen, skal vi først flytte ned 2 rækker, og vi skal flytte til venstre med to kolonner for at vælge cellen A10.

I tilfælde af at flytte til venstre for at vælge kolonnen, skal vi angive, at antallet er negativt. Så her er vi nødt til at komme tilbage med -2 ​​kolonner.

Kode:

Sub Offset_Example2 () Range ("C8") Offset (2, -2). Vælg End Sub

Kør nu denne kode ved hjælp af F5-nøglen eller kør manuelt, den vælger A10-celle som vist nedenfor:

Produktion:

Ting at huske

  • I tilfælde af at bevæge sig op af rækker, skal vi angive antallet i negativer.
  • Hvis du flytter til venstre for at vælge kolonnen, skal tallet være negativt.
  • A1-celle er den første række og første kolonne.
  • Aktiv celle betyder for tiden valgte celler.
  • Hvis du vil vælge cellen ved hjælp af OFFSET, skal du nævne ".Vælg."
  • Hvis du vil kopiere cellen ved hjælp af OFFSET, skal du nævne ".Copy."

Interessante artikler...