Spustiť makro, keď je splnená podmienka v tabuľke programu Excel

Obsah

Na spustenie makra môžete použiť trik, akonáhle funkcia IF vo vašej tabuľke programu Excel prinesie určitý výsledok

Makro sa má vykonať v tabuľke programu Excel, akonáhle funkcia tabuľky IF vráti logickú hodnotu. V opačnom prípade by sa mal text jednoducho zobraziť.

Tento problém vyriešite používateľom definovanou funkciou VBA. Pracujete s procedúrou funkcie namiesto sub procedúry.

Ak už existuje makro, ktoré chcete začať funkciou IF, môžete skopírovať kód do procedúry Function alebo z nej zavolať procedúru Sub.

Makro s názvom „Startmacro“ sa používa ako príklad a vyvoláva iba jednoduché dialógové okno. Nasleduj tieto kroky:

  1. Najprv spustite editor VBA. Môžete to urobiť vo všetkých verziách Excelu pomocou kombinácie klávesov ALT F11.
  2. Vyberte príkaz VLOŽIŤ - MODUL, aby ste vložili nový list modulu.

Zadajte nasledujúce príkazy VBA:

Verejná funkcia Startmakro () ako reťazec
Volať inzerát
Spustiť makro = "Spustené."
Ukončiť funkciu
Pomocný displej ()
MsgBox „Makro sa spustilo“
Koniec pod

Programový kód sa skladá z dvoch samostatných častí. Prvý fragment predstavuje novú tabuľkovú funkciu STARTMAKRO. Druhý fragment slúži na zobrazenie textu „Makro sa spustilo“.

Po zadaní príkazov zavolajte v ponuke SÚBOR v editore VBA príkaz ZATVORIŤ A NÁVRAT NA MICROSOFT EXCEL. Tým sa dostanete späť k svojmu stolu.

Ako zahrnúť makro do funkcie IF

Ak chcete zistiť, či makro funguje správne, zadajte do bunky A2 tabuľky nasledujúcu funkciu:

= IF (A1 = 1; startmakro (); "Nespustené.")

Ak do bunky A1 zadáte číslo 1, makro bude volané vami definovanou funkciou. Zobrazí sa okno so správou, ako je znázornené na nasledujúcom obrázku:

Potom je tu text „Spustené“. V cele Užívateľom definovaná tabuľková funkcia vrátila tento výsledok do Excelu.

Ak má bunka A1 iný obsah ako 1, makro sa nespustí. V takom prípade funkcia IF nastaví text „Nespustené“. ako výsledok

Uvedená cesta je postup, ktorý spoločnosť Microsoft neodporúča. Okná správ by sa nemali zobrazovať v rámci funkcií definovaných užívateľom.

Nie je potrebné oddeľovať dve makrá SPUSTIŤ MAKRO a DISPLEJ. Môžete sa tiež zaobísť bez príkazu CALL v makre VBA a zahrnúť príkazy pre podprogram priamo do podprogramu FUNKCIE.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave