Funkce VBA OFFSET - Jak používat ofsetovou vlastnost Excel VBA (příklad)

Funkce OFFSET aplikace Excel VBA

Funkce VBA Offset se používá k přesunutí nebo odkazování na odkaz přeskakující určitý počet řádků a sloupců, argumenty pro tuto funkci ve VBA jsou stejné jako argumenty v listu.

Předpokládejme například, že máte sadu dat, jako je níže uvedená.

Právě z buňky A1, kterou chcete přesunout dolů 4 buněk, a chcete-li zvolit, že 5 th buňku, tj A5 buňky.

Podobně, pokud se chcete přesunout dolů z buňky A1 o 2 řádky a přejít 2 sloupce doprava a vybrat tuto buňku, tj. Buňku C2.

V těchto případech je funkce OFFSET velmi užitečná. Zejména ve VBA OFFSET je funkce fenomenální.

OFFSET se používá s objektem Range v aplikaci Excel VBA

Ve VBA nemůžeme přímo zadat slovo OFFSET. Nejprve musíme použít objekt VBA RANGE az tohoto objektu rozsahu můžeme použít vlastnost OFFSET.

V aplikaci Excel není rozsah nic jiného než buňka nebo rozsah buňky. Protože OFFSET odkazuje na buňky, musíme nejprve použít objekt RANGE a potom můžeme použít metodu OFFSET.

Syntaxe OFSETU ve VBA Excel

  • Posun řádků: Kolik řádků chcete odsadit od vybrané buňky. Zde je vybraná buňka A1, tj. Rozsah („A1“).
  • Posun sloupců: Kolik sloupců chcete odsadit od vybrané buňky. Zde je vybraná buňka A, 1, tj. Rozsah („A1“).

Příklady

Příklad č. 1

Zvažte níže uvedená data, například demonstraci.

Nyní chci vybrat buňku A6 z buňky A1. Spusťte makro a referenční buňku pomocí objektu Range.

Kód:

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

Nyní chci vybrat buňku A6, tj. Chci udělat dolů 5 buněk. Jako parametr pro offset řádku tedy zadejte 5.

Kód:

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

Jelikož vybírám ve stejném sloupci, vynechám část sloupce. Zavřete závorku a vložte tečku (.) A zadejte metodu „Vybrat“.

Kód:

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

Nyní spusťte tento kód pomocí klávesy F5, nebo můžete spustit ručně a vybrat buňku A6, jak je znázorněno níže.

Výstup:

Příklad č. 2

Nyní vezměte stejná data, ale zde uvidíte, jak také použít argument offset sloupce. Nyní chci vybrat buňku C5.

Vzhledem k tomu, že chci nejprve vybrat buňku C5, chci se posunout dolů o 4 buňky a vzít správné 2 sloupce k dosažení buňky C5. Níže uvedený kód by udělal práci za mě.

Kód:

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

Tento kód spustím ručně nebo pomocí klávesy F5. Poté vybere buňku C5, jak je znázorněno na následujícím snímku obrazovky.

Výstup:

Příklad č. 3

Viděli jsme, jak vyrovnat řádky a sloupce. Můžeme také vybrat výše uvedené buňky ze zadaných buněk. Pokud jste například v buňce A10 a chcete vybrat buňku A1, jak to vyberete?

V případě pohybu dolů po buňce můžeme zadat kladné číslo, takže zde v případě pohybu nahoru musíme zadat záporná čísla.

Z buňky A9 se musíme posunout o 8 řádků nahoru, tj. -8.

Kód:

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

Pokud tento kód spustíte pomocí klávesy F5 nebo můžete tento kód spustit ručně, vybere buňku A1 z buňky A9.

Výstup:

Příklad č. 4

Předpokládejme, že jste v buňce C8. Z této buňky chcete vybrat buňku A10.

Z aktivní buňky l, tj. Buňky C8, se musíme nejprve posunout o 2 řádky dolů a musíme se posunout doleva o 2 sloupce, abychom vybrali buňku A10.

V případě přesunutí doleva k výběru sloupce je třeba zadat číslo záporné. Tady se tedy musíme vrátit o -2 sloupce.

Kód:

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

Nyní spusťte tento kód pomocí klávesy F5 nebo spusťte ručně, vybere buňku A10, jak je znázorněno níže:

Výstup:

Věci k zapamatování

  • V případě posunutí řádků nahoru je nutné zadat počet v negativech.
  • V případě přesunutí doleva k výběru sloupce by mělo být číslo záporné.
  • Buňka A1 je první řádek a první sloupec.
  • Aktivní buňka znamená aktuálně vybrané buňky.
  • Pokud chcete buňku vybrat pomocí OFSETU, musíte zmínit „.Vybrat“.
  • Pokud chcete buňku zkopírovat pomocí OFSETU , musíte uvést „.Copy“.

Zajímavé články...