Tento článek je o funkci Offset ve VBA. (Funkce OFFSET (funguje obdobně, ale ne stejně) je také v běžném Excelu.)

Funkce Offset posouvá určitou vybranou oblast o určitý počet sloupců nahoru, dolů, doleva, doprava, a dá se tak dobře použít k jednoduchému "pohybu" v tabulce.

Typické příklady:

Posun z konkrétní buňky

Příkaz, který vybere buňku, která je jeden řádek dolů a dva sloupce doprava od buňky A1.

posun

Posun z právě aktivní buňky

Příkaz, který vybere buňku, která je jeden řádek dolů a dva sloupce doprava od právě aktivní buňky.  Toto použití je asi zajímavějí než to předchozí - zatímco předchozí příkaz by šel nahradit obyčejným Range("C2").Select, tak v tomto druhém případě vlastně dopředu nevíme, která buňka je zrovna aktivní, a nevíme, odkud se posouvat.

Zápis hodnoty

Offset nemusíme samozřejmě použít pouze pro vybírání - s buňkou můžeme rovnou cokoliv provést, například dát jí hodnotu pět...