Exceli VBA OFFSET-funktsioon
Funktsiooni VBA nihe kasutatakse viite liigutamiseks või sellele viitamiseks, jättes vahele teatud arvu ridu ja veerge, selle funktsiooni argumendid VBA-s on samad mis töölehe argumentidel.
Oletame näiteks, et teil on allpool olevate andmete kogum.

Nüüd on lahter A1, mida soovite teisaldada alla 4 rakke, ja soovite valida, et 5 th raku, st A5 raku.
Samamoodi, kui soovite liikuda A1 lahtrist 2 rida alla ja minna 2 veergu paremale ning valida see lahter, st C2 lahter.
Nendel juhtudel on funktsioon OFFSET väga kasulik. Funktsioon VBA on lihtsalt fenomenaalne.
OFFSET-i kasutatakse Exceli VBA-s vahemikuobjektiga
VBA-s ei saa me otseselt sisestada sõna OFFSET. Kõigepealt peame kasutama objekti VBA RANGE ja sellest vahemiku objektist saame kasutada omadust OFFSET.
Excelis pole vahemik muud kui lahter või lahtri vahemik. Kuna OFFSET viitab lahtritele, peame kõigepealt kasutama objekti RANGE ja seejärel saame kasutada meetodit OFFSET.
OFFSETi süntaks VBA Excelis

- Rea nihe: mitu rida soovite valitud lahtrist nihutada. Siin on valitud lahter A1, st vahemik (“A1”).
- Veergude nihe: mitu veergu soovite valitud lahtrist nihutada. Siin on valitud lahter A, 1, st vahemik (“A1”).
Näited
Näide 1
Mõelge järgmistele andmetele, näiteks demonstratsioon.

Nüüd tahan lahtrist A1 valida lahtri A6. Käivitage makro- ja võrdlusrakk objekti Range abil.
Kood:
Alamhälbe_näide1 () vahemik ("A1"). Nihe (lõigu alam

Nüüd tahan valida lahtri A6, st soovin teha 5 lahtrit alla. Seega sisestage rea nihke parameetriks 5.
Kood:
Alamkorraldus_näide1 () Vahemik ("A1"). Nihe (5 lõpu alamhulk

Kuna valin samas veerus, jätan veeruosa välja. Sulgege sulg, pange punkt (.) Ja tippige meetod „Vali“.
Kood:
Alamnihe_näide1 () Vahemik ("A1"). Nihe (5). Valige Lõpp-alam

Nüüd käivitage see kood klahviga F5 või saate raku A6 valimiseks käsitsi käivitada, nagu allpool näidatud.

Väljund:

Näide 2
Võtke nüüd samad andmed, kuid siin näete, kuidas kasutada ka veeru nihke argumenti. Nüüd tahan valida lahtri C5.
Kuna soovin kõigepealt valida lahtri C5, tahan lahtrisse C5 jõudmiseks liikuda 4 lahtrist allapoole ja võtta kaks paremat veergu. Allpool olev kood täidaks minu jaoks selle töö.
Kood:
Alamhälbe_näide2 () vahemik ("A1"). Nihe (4, 2). Valige Lõpp-alam

Käivitan selle koodi käsitsi või kasutades klahvi F5. Seejärel valib see lahtri C5, nagu on näidatud alloleval ekraanipildil.

Väljund:

Näide # 3
Oleme näinud, kuidas ridu ja veerge tasaarvestada. Samuti võime ülaltoodud lahtrid valida ka määratud lahtritest. Näiteks kui olete lahtris A10 ja soovite valida lahtri A1, siis kuidas valite?
Lahtrist allapoole liikumise korral võime sisestada positiivse arvu, seega siin peame ülespoole liikumise korral sisestama negatiivsed arvud.
Lahtrist A9 peame liikuma 8 rea võrra ülespoole, st -8.
Kood:
Alamnihe_näide1 () Vahemik ("A9"). Nihe (-8). Valige Lõpp-alam

Kui käivitate selle koodi klahviga F5 või saate selle koodi käsitsi käivitada, valib see lahtri A9 lahtrist A1.

Väljund:

Näide 4
Oletame, et olete lahtris C8. Sellest lahtrist soovite valida lahtri A10.
Aktiivsest lahtrist l, st C8 lahtrist peame kõigepealt liikuma 2 rida allapoole ja me peame liikuma vasakule 2 veeru võrra, et valida lahter A10.
Veeru valimiseks vasakule liikumise korral peame täpsustama, et number on negatiivne. Nii et siin peame tagasi tulema -2 veeru võrra.
Kood:
Alamhälbe_näide2 () vahemik ("C8"). Nihe (2, -2). Valige Lõpp-alam

Nüüd käivitage see kood klahviga F5 või käivitage käsitsi, see valib A10 lahtri, nagu allpool näidatud:

Väljund:

Asjad, mida meeles pidada
- Ridade ülespoole liikumise korral peame arvu määrama negatiivides.
- Veeru valimiseks vasakule liikumise korral peaks arv olema negatiivne.
- Lahter A1 on esimene rida ja esimene veerg.
- Aktiivne lahter tähendab praegu valitud rakke.
- Kui soovite lahtrit valida OFFSET-i abil, peate mainima ".Select".
- Kui soovite lahtrit kopeerida OFFSET-i abil, peate mainima ".Copy".