Spustit makro, když je splněna podmínka v tabulce aplikace Excel

Obsah

Můžete použít trik ke spuštění makra, jakmile funkce IF v tabulce aplikace Excel poskytne určitý výsledek

Makro se spustí v tabulce aplikace Excel, jakmile funkce tabulky IF vrátí logickou hodnotu. V opačném případě by měl být text jednoduše zobrazen.

Tento problém vyřešíte uživatelsky definovanou funkcí VBA. Pracujete s procedurou Function namísto Sub procedury.

Pokud již existuje makro, které chcete spustit s funkcí IF, můžete zkopírovat kód do procedury Function nebo z ní zavolat proceduru Sub.

Jako příklad slouží makro s názvem „Startmacro“, které vyvolá pouze jednoduché dialogové okno. Následuj tyto kroky:

  1. Nejprve spusťte editor VBA. Můžete to provést ve všech verzích aplikace Excel pomocí kombinace kláves ALT F11.
  2. Chcete -li vložit nový list modulu, vyberte příkaz VLOŽIT - MODUL.

Zadejte následující příkazy VBA:

Veřejná funkce Startmakro () jako řetězec
Volejte inzerát
Spustit makro = "Spuštěno."
Koncová funkce
Dílčí displej ()
MsgBox „Makro spuštěno“
End Sub

Programový kód se skládá ze dvou samostatných částí. První fragment představuje novou tabulkovou funkci STARTMAKRO. Druhý fragment slouží k zobrazení textu „Makro bylo spuštěno“.

Po zadání příkazů zavolejte příkaz ZAVŘÍT A NÁVRAT DO MICROSOFT EXCEL v nabídce SOUBOR v editoru VBA. Tím se dostanete zpět ke svému stolu.

Jak zahrnout makro do funkce IF

Chcete -li zjistit, zda makro funguje správně, zadejte do buňky A2 tabulky následující funkci:

= IF (A1 = 1; startmakro (); "Není spuštěno.")

Pokud do buňky A1 zadáte číslo 1, bude makro voláno vámi definovanou funkcí. Zobrazí se okno se zprávou, jak ukazuje následující obrázek:

Pak je tu text „Spuštěno“. V cele. Uživatelem definovaná tabulková funkce vrátila tento výsledek do Excelu.

Pokud má buňka A1 jiný obsah než 1, makro se nespustí. V tomto případě funkce IF nastaví text „Nespusteno“. jako výsledek

Uvedená cesta je postup, který společnost Microsoft nedoporučuje. Okna zpráv by se neměla zobrazovat v rámci funkcí definovaných uživatelem.

Není nutné oddělovat dvě makra START MACRO a DISPLAY. Můžete se také obejít bez příkazu CALL v makru VBA a zahrnout příkazy pro podprogram přímo do podprogramu FUNCTION.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave