Funkcia VBA OFFSET - Ako používať ofsetovú vlastnosť Excel VBA (príklad)

Funkcia Excel VBA OFFSET

Funkcia VBA Offset sa používa na presun alebo odkaz na referenciu preskakujúcu určitý počet riadkov a stĺpcov, argumenty pre túto funkciu vo VBA sú rovnaké ako argumenty v hárku.

Predpokladajme napríklad, že máte množinu údajov, ako je tá uvedená nižšie.

Teraz z bunky A1 chcete presunúť o 4 bunky nadol a chcete vybrať túto piatu bunku, tj. Bunku A5.

Podobne, ak sa chcete presunúť nadol z bunky A1 o 2 riadky a prejsť o 2 stĺpce doprava a vybrať túto bunku, tj. Bunku C2.

V týchto prípadoch je funkcia OFFSET veľmi užitočná. Najmä vo VBA OFFSET je funkcia fenomenálna.

OFFSET sa používa s objektom rozsahu v programe Excel VBA

Vo VBA nemôžeme priamo zadať slovo OFFSET. Najprv musíme použiť objekt VBA RANGE a z tohto rozsahu objektu môžeme použiť vlastnosť OFFSET.

V programe Excel nie je rozsah nič iné ako bunka alebo rozsah bunky. Keďže OFFSET odkazuje na bunky, musíme najskôr použiť objekt RANGE a až potom môžeme použiť metódu OFFSET.

Syntax ofsetu vo VBA programe Excel

  • Posun riadkov: Koľko riadkov chcete posunúť od vybranej bunky. Tu je vybratá bunka A1, tj. Rozsah („A1“).
  • Posun stĺpca: Koľko stĺpcov chcete posunúť od vybranej bunky. Tu je vybratá bunka A, 1, tj. Rozsah („A1“).

Príklady

Príklad č

Zvážte nasledujúce údaje, napríklad demonštráciu.

Teraz chcem vybrať bunku A6 z bunky A1. Spustite makro a referenčnú bunku pomocou objektu Range.

Kód:

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

Teraz chcem vybrať bunku A6, tj. Chcem urobiť dole 5 buniek. Zadajte teda 5 ako parameter pre offset riadku.

Kód:

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

Pretože vyberám v rovnakom stĺpci, vynechám stĺpcovú časť. Zatvorte zátvorku a vložte bodku (.) A zadajte metódu „Vybrať“.

Kód:

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

Teraz tento kód spustite pomocou klávesu F5, alebo môžete spustiť manuálne a zvoliť bunku A6, ako je uvedené nižšie.

Výkon:

Príklad č

Teraz vezmite rovnaké údaje, ale tu sa dozviete, ako použiť aj argument offset stĺpca. Teraz chcem vybrať bunku C5.

Pretože chcem najskôr vybrať bunku C5, chcem sa presunúť o 4 bunky nižšie a dostať sa do správnych 2 stĺpcov, aby som sa dostal do bunky C5. Nižšie uvedený kód by urobil prácu za mňa.

Kód:

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

Tento kód spustím ručne alebo pomocou klávesu F5. Potom vyberie bunku C5, ako je znázornené na obrázku nižšie.

Výkon:

Príklad č

Videli sme, ako vyrovnať riadky a stĺpce. Môžeme tiež vybrať vyššie uvedené bunky zo zadaných buniek. Ak sa napríklad nachádzate v bunke A10 a chcete vybrať bunku A1, ako to vyberiete?

V prípade posunu nadol o bunku môžeme zadať kladné číslo, takže tu v prípade posunutia nahor musíme zadať záporné čísla.

Z bunky A9 sa musíme posunúť o 8 riadkov vyššie, tj. -8.

Kód:

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

Ak tento kód spustíte pomocou klávesu F5 alebo ho môžete spustiť manuálne, vyberie bunku A1 z bunky A9.

Výkon:

Príklad č

Predpokladajme, že ste v bunke C8. Z tejto bunky chcete vybrať bunku A10.

Z aktívnej bunky, tj. Bunky C8, sa najskôr musíme presunúť o 2 riadky nižšie a na výber bunky A10 sa musíme posunúť doľava o 2 stĺpce.

V prípade, že sa chcete pohybovať doľava a vybrať stĺpec, musíme zadať záporné číslo. Takže tu sa musíme vrátiť o -2 stĺpce.

Kód:

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

Teraz tento kód spustite pomocou klávesu F5 alebo spustite manuálne, vyberie bunku A10, ako je uvedené nižšie:

Výkon:

Na čo treba pamätať

  • V prípade posunutia riadkov nahor je potrebné uviesť počet v negatívach.
  • V prípade presunutia doľava na výber stĺpca by malo byť číslo záporné.
  • Bunka A1 je prvý riadok a prvý stĺpec.
  • Aktívna bunka znamená v súčasnosti vybrané bunky.
  • Ak chcete bunku vybrať pomocou OFSETU, musíte spomenúť „.Vybrať“.
  • Ak chcete bunku skopírovať pomocou funkcie OFFSET, musíte spomenúť „.Copy“.

Zaujímavé články...