Funktsioon VBA OFFSET | Exceli VBA nihkeomandi kasutamine (näide)

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 olev andmete kogum.

Nüüd lahtrist A1 soovite liikuda 4 lahtrit allapoole ja soovite valida selle 5. lahtri ehk A5 lahtri.

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.

Exceli vahemikus pole midagi muud kui lahter või lahtrivahemik. 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 A1, st vahemik (“A1”).

Näited

Selle VBA OFFSETi malli saate alla laadida siit - VBA OFFSETi mall

Näide 1

Vaatleme näiteks allpool toodud andmeid.

Nüüd tahan lahtrist A1 valida lahtri A6. Käivitage makro- ja võrdlusrakk objekti Range abil.

Kood:

 Alamnihe_näide1 () Vahemik ("A1"). Nihe (Lõpp-alam 

Nüüd tahan valida lahtri A6, st ma tahan teha alla 5 lahtri. 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 ja pange punkt (.) Ning 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

Nüüd võtke 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 liikuda 4 lahtrist allapoole ja võtta kaks paremat veergu, et jõuda lahtrini C5. Allpool olev kood teeks 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, valib see raku 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 alla liikumise korral võime sisestada positiivse arvu, nii et siin peame ülespoole liikumise korral sisestama negatiivsed arvud.

Lahtrist A9 peame liikuma ülespoole 8 rida ehk -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, st C8 lahtrist, peame kõigepealt liikuma 2 rida alla ja 2 veeru võrra vasakule, 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 OFFSET abil valida, peate mainima “.Select”.
  • Kui soovite lahtri OFFSET-i abil kopeerida, peate märkima ".Copy".

$config[zx-auto] not found$config[zx-overlay] not found