Покрени макро када је испуњен услов у Екцел табели

Преглед садржаја

Можете користити трик за покретање макроа чим функција ИФ у Екцел табели донесе одређени резултат

Макро се мора извршити у Екцел табели чим функција ИФ табеле врати логичку вредност. У супротном би текст требало једноставно приказати.

Овај проблем решавате кориснички дефинисаном ВБА функцијом. Радите са процедуром Фунцтион уместо са Суб процедуром.

Ако већ постоји макро који желите да покренете са ИФ функцијом, можете копирати код у процедуру Фунцтион или из ње позвати процедуру Суб.

Макро под именом „Стартмацро“ користи се као пример и позива само једноставан дијалог. Пратите ове кораке:

  1. Прво покрените ВБА едитор. То можете учинити у свим верзијама програма Екцел помоћу комбинације тастера АЛТ Ф11.
  2. Одаберите наредбу ИНСЕРТ - МОДУЛЕ да бисте уметнули нови лист модула.

Унесите следеће ВБА команде:

Јавна функција Стартмакро () Ас Стринг
Оглас за позив
Старт мацро = "Стартед."
Енд функција
Додатни приказ ()
МсгБок "Макро је покренут"
Енд Суб

Програмски код састоји се од два одвојена дела. Први фрагмент представља нову функцију таблице СТАРТМАКРО. Други фрагмент се користи за приказ текста „Макро је почео“.

Након што унесете команде, позовите команду ЗАТВОРИ И ПОВРАТАК НА МИЦРОСОФТ ЕКСЦЕЛ у менију ФИЛЕ у ВБА едитору. Ово вас враћа на ваш сто.

Како укључити макро у ИФ функцију

Да бисте видели да ли макро ради исправно, унесите следећу функцију у ћелију А2 табеле:

= ИФ (А1 = 1; стартмакро (); "Није започето.")

Ако унесете број 1 у ћелију А1, макро ће позвати ваша кориснички дефинисана функција. Прозор са поруком се приказује као што је приказано на следећој слици:

Затим следи текст „Започето“. У ћелији. Кориснички дефинисана функција табеле вратила је овај резултат у Екцел.

Ако ћелија А1 има садржај различит од 1, макро се не покреће. У овом случају, функција ИФ поставља текст „Није започето“. као резултат

Представљени пут је пракса коју Мицрософт не препоручује. Прозори порука не би требало да се приказују унутар функција које дефинише корисник.

Није потребно раздвајати два макроа СТАРТ МАЦРО и ДИСПЛАИ. Можете и без наредбе ЦАЛЛ у макро ВБА и укључити команде за потпрограм директно у потпрограм ФУНЦТИОН.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave