Přejít na hlavní obsah

Vzorec ActiveCell.FormulaR1C1 v VBA Excel-popis a příklady použití

Vzorec ActiveCell.FormulaR1C1 je jednou z nejužitečnějších funkcí aplikace VBA Excel, která umožňuje nastavit vzorce v buňkách dokumentu. Umožňuje nastavit hodnotu buňky jako vzorec, včetně odkazů na jiné buňky a funkcí aplikace Excel.

Pro použití vzorce ActiveCell.FormulaR1C1 musí zadat řádek a sloupec buňky, do které bude vzorec vložen. V případě nedostatku buňky s těmito souřadnicemi bude vytvořena nová buňka s daným vzorcem. Vzorec může obsahovat odkazy na buňky pomocí offsetu (R[posun]C[posun]).

Pokud je například aktuální aktivní buňka C3, pak je to vzorec " ActiveCell.FormulaR1C1 = P[1]C[-1]"nastaví do aktivní buňky hodnotu rovnající se hodnotě buňky B4.

Výhody použití vzorce ActiveCell.FormulaR1C1:

  • Možnost dynamického vytváření vzorců v aplikaci VBA Excel;
  • Snadné použití a nastavení hodnot buněk;
  • Možnost použití funkcí aplikace Excel, včetně vlastních;
  • Automatická aktualizace hodnoty buňky při změně hodnoty v jiných buňkách, na které je odkaz.

Jak je vidět z příkladu, použití vzorce ActiveCell.FormulaR1C1 otevírá široké možnosti pro automatizaci práce s Excelem a umožňuje vytvářet dynamické vzorce a analyzovat data. Je to velmi užitečná funkce, která výrazně usnadňuje programování v aplikaci VBA Excel.

Co je FormulaR1C1 VBA Excel

Klíčovou výhodou použití FormulaR1C1 je, že vzorce lze zaznamenat vzhledem k aktuální buňce, což umožňuje automatizovat proces vyplňování buněk pomocí flexibilních a dynamických vzorců.

Například pro zadání vzorce pomocí metody FormulaR1C1 je nutné zadat řádek a sloupec vzhledem k aktuální buňce. Pokud například chceme napsat vzorec " =R[-1]C+R[1]C" (sčítání hodnoty z buňky výše a hodnoty z buňky níže), pak v metodě FormulaR1C1 musíme specifikovat:

ActiveCell.FormulaR1C1 = "=R[-1]C+R[1]C"

V tomto případě " R[-1]C "označuje hodnotu z buňky o jeden řádek vyšší než aktuální buňka a" R[1]C " je hodnota z buňky o jeden řádek nižší než aktuální buňka.

Pomocí metody FormulaR1C1 můžeme vytvářet vzorce, které se automaticky upraví při kopírování a pohybu buněk,což usnadňuje zpracování velkého množství dat.

Popis a princip práce

V jazyce VBA (Visual Basic for Applications) v prostředí Excel existuje objekt ActiveCell, který umožňuje přístup k aktivní buňce na listu. Pomocí vlastnosti ActiveCell.FormulaR1C1 lze získat nebo nainstalovat vzorec pro aktivní buňku ve formátu R1C1.

Formát R1C1 představuje buňky jako relativní offsety vzhledem k aktivní buňce. Namísto použití alfanumerických souřadnic (např. A1, B2) používá formát R1C1 číselné hodnoty k určení polohy buňky relativně aktivní. Konkrétní hodnoty R A C označují posun v řádcích a sloupcích. Například R1C1 znamená aktuální řádek a aktuální sloupec, R[-1]C znamená předchozí řádek a aktuální sloupec A R[1]C[-1] znamená následující řádek a předchozí sloupec.

Vlastnosti ActiveCell.FormulaR1C1 umožňuje získat vzorec aktivní buňky ve formátu R1C1 nebo nastavit nový vzorec. Například:

Dim formula As Stringformula = ActiveCell.FormulaR1C1

Tento řádek kódu uloží vzorec aktivní buňky do proměnné formula ve formátu R1C1. Můžete také nastavit nový vzorec pro aktivní buňku:

ActiveCell.FormulaR1C1 = "=SUM(R[-1]C:R[1]C)"

Tento řádek kódu nastaví nový vzorec, který shrnuje hodnoty v předchozí, současné a další buňce v aktuálním sloupci aktivní buňky.

Tedy použití ActiveCell.FormulaR1C1 v Excelu VBA umožňuje pohodlnou práci se vzorci ve formátu R1C1 a přístup k aktivní buňce na listu.

Výhody použití FormulaR1C1

Metoda FormulaR1C1 je jedním ze způsobů, jak zadat vzorec v buňce pomocí relativních odkazů na řádky a sloupce. Tato metoda má několik výhod oproti jiným způsobům určování vzorce.

1. Použitelnost: FormulaR1C1 umožňuje snadné vytváření a úpravy vzorců pomocí relativních odkazů na řádky a sloupce. Namísto použití absolutních odkazů (například $a$1) umožňuje FormulaR1C1 odkazovat na buňky vzhledem k aktuální buňce.

2. Vhodnost pro automatizaci: FormulaR1C1 je zvláště užitečný při psaní Maker a skriptů, protože vám umožňuje měnit vzorce v automatickém režimu na základě určitých podmínek nebo proměnných. To usnadňuje automatické zpracování a analýzu dat ve velkých tabulkách.

3. Pružnost: Vzorce vytvořené pomocí FormulaR1C1 lze použít v různých částech tabulky. Nejsou závislé na konkrétní buňce a mohou být aplikovány na jiné buňky nebo rozsahy. To vám umožní vyhnout se nutnosti změny vzorce pokaždé, když je aplikován na nová data nebo oblast.

4. Čitelnost: FormulaR1C1 činí vzorce srozumitelnějšími a snadněji čitelnými pro ostatní lidi, protože jsou založeny na relativních odkazech. Nevyžadují znalost konkrétních adres buněk a usnadňují pochopení logiky výpočtu.

Celkově použití FormulaR1C1 umožňuje vytvářet dynamičtější a flexibilnější vzorce, které mohou být snadno přizpůsobitelné a automatizované. Je to užitečný nástroj pro práci s daty v Excelu a může výrazně zvýšit efektivitu vašich úloh analýzy a zpracování dat.