Funkcija Excel VBA OFFSET
Funkcija VBA Offset se uporablja za premikanje ali sklicevanje na sklic, ki preskoči določeno število vrstic in stolpcev, argumenti za to funkcijo v VBA pa so enaki argumentom na delovnem listu.
Denimo, da imate nabor podatkov, kot je spodnji.

Zdaj iz celice A1 se želite premakniti za 4 celice navzdol in izbrati to peto celico, tj. Celico A5.
Podobno, če se želite premakniti iz vrstice A1 v 2 vrstici navzdol in premakniti 2 stolpca v desno in izbrati to celico, tj. Celico C2.
V teh primerih je funkcija OFFSET zelo koristna. Funkcija VBA OFFSET je še posebej fenomenalna.
OFFSET se uporablja z objektom obsega v Excelu VBA
V VBA ne moremo neposredno vnesti besede OFFSET. Najprej moramo uporabiti objekt VBA RANGE, od tega predmeta obsega pa lahko uporabimo lastnost OFFSET.
V Excelu obseg ni nič drugega kot celica ali obseg celice. Ker se OFFSET nanaša na celice, moramo najprej uporabiti objekt RANGE, nato pa lahko uporabimo še metodo OFFSET.
Sintaksa OFFSET v programu VBA Excel

- Odmik vrstice: koliko vrstic želite premakniti iz izbrane celice. Tu je izbrana celica A1, tj. Obseg ("A1").
- Odmik stolpca: koliko stolpcev želite premakniti iz izbrane celice. Tu je izbrana celica A, 1, tj. Obseg ("A1").
Primeri
Primer # 1
Upoštevajte spodnje podatke, na primer predstavitev.

Zdaj želim iz celice A1 izbrati celico A6. Zaženite makro in referenčno celico z uporabo predmeta Range.
Koda:
Sub Offset_Example1 () Obseg ("A1"). Offset (End Sub

Zdaj želim izbrati celico A6, to je, želim narediti 5 celic navzdol. Vnesite torej 5 kot parameter za odmik vrstice.
Koda:
Sub Offset_Example1 () Območje ("A1"). Offset (5 End Sub

Ker izbiram v istem stolpcu, izpustim del stolpca. Zaprite oklepaj in postavite piko (.) Ter vnesite metodo »Izberi«.
Koda:
Sub Offset_Example1 () Obseg ("A1"). Offset (5). Izberite End Sub

Zdaj zaženite to kodo s tipko F5 ali pa jo zaženite ročno, da izberete celico A6, kot je prikazano spodaj.

Izhod:

2. primer
Zdaj vzemite iste podatke, tukaj pa bomo videli, kako uporabiti tudi argument odmika stolpca. Zdaj želim izbrati celico C5.
Ker želim najprej izbrati celico C5, se želim pomakniti navzdol za 4 celice in zajeti desni 2 stolpca, da pridem do celice C5. Spodaj koda bi opravila delo namesto mene.
Koda:
Sub Offset_Example2 () Obseg ("A1"). Offset (4, 2). Izberite End Sub

To kodo zaženem ročno ali s tipko F5. Nato bo izbral celico C5, kot je prikazano na spodnjem posnetku zaslona.

Izhod:

3. primer
Videli smo, kako premakniti vrstice in stolpce. Zgornje celice lahko izberemo tudi med navedenimi celicami. Če ste na primer v celici A10 in želite izbrati celico A1, kako izbrati?
V primeru premika navzdol po celici lahko vnesemo pozitivno število, zato moramo tukaj v primeru premika navzgor vnesti negativna števila.
Od celice A9 se moramo pomakniti navzgor za 8 vrstic, tj -8.
Koda:
Sub Offset_Example1 () Obseg ("A9"). Offset (-8). Izberite End Sub

Če zaženete to kodo s tipko F5 ali jo lahko ročno zaženete, bo celica A1 izbrala celico A9.

Izhod:

Primer # 4
Predpostavimo, da ste v celici C8. Iz te celice želite izbrati celico A10.
Iz aktivne celice l, tj. Celice C8, se moramo najprej premakniti za 2 vrstici navzdol, za celico A10 pa se moramo pomakniti v levo za 2 stolpca.
V primeru, da se premaknete levo, da izberete stolpec, moramo določiti, da je število negativno. Tu se moramo torej vrniti za -2 stolpca.
Koda:
Sub Offset_Example2 () Obseg ("C8"). Offset (2, -2). Izberite End Sub

Zdaj zaženite to kodo s tipko F5 ali zaženite ročno, izbrala bo celico A10, kot je prikazano spodaj:

Izhod:

Stvari, ki si jih je treba zapomniti
- V primeru premikanja vrstic moramo določiti število negativov.
- V primeru, da se premaknete levo, da izberete stolpec, mora biti število negativno.
- Celica A1 je prva vrstica in prvi stolpec.
- Aktivna celica pomeni trenutno izbrane celice.
- Če želite celico izbrati s funkcijo OFFSET, morate omeniti ".Izberi."
- Če želite kopirati celico z uporabo OFFSET, morate omeniti ».Copy«.