Стартирайте макроса, когато е изпълнено условие в таблица на Excel

Съдържание

Можете да използвате трик, за да стартирате макрос веднага щом функция IF в електронната ви таблица на Excel даде определен резултат

Макрос трябва да се изпълни в таблица на Excel веднага щом функцията на таблица IF върне логическа стойност. В противен случай трябва просто да се покаже текст.

Решавате този проблем с дефинирана от потребителя VBA функция. Работите с процедура за функция вместо подпроцедура.

Ако вече има макрос, който искате да стартирате с IF функция, можете да копирате кода в процедурата Function или да извикате процедурата Sub от нея.

Макрос с името „Startmacro“ се използва като пример и извиква само прост диалогов прозорец. Следвай тези стъпки:

  1. Първо стартирайте редактора на VBA. Можете да направите това във всички версии на Excel, като използвате комбинацията от клавиши ALT F11.
  2. Изберете командата INSERT - MODULE, за да вмъкнете нов лист с модули.

Въведете следните VBA команди:

Публична функция Startmakro () As String
Реклама за обаждане
Старт макрос = "Стартирано".
Крайна функция
Допълнителен дисплей ()
MsgBox "Макрос стартира"
End Sub

Програмният код се състои от две отделни части. Първият фрагмент представлява новата таблична функция STARTMAKRO. Вторият фрагмент се използва за показване на текста „Макрос е започнал“.

След като въведете командите, извикайте командата CLOSE AND RETURN TO MICROSOFT EXCEL в менюто FILE в редактора VBA. Това ви връща към масата ви.

Как да включите макроса във функция IF

За да видите дали макросът работи правилно, въведете следната функция в клетка A2 на таблица:

= IF (A1 = 1; startmakro (); "Не е стартирано.")

Ако въведете номер 1 в клетка A1, макросът ще бъде извикан от дефинираната от вас функция. Прозорецът със съобщение се появява, както е показано на следната фигура:

След това има текст „Стартирано“. В килията. Дефинираната от потребителя функция за електронни таблици върна този резултат в Excel.

Ако клетка A1 има съдържание, различно от 1, макросът не се стартира. В този случай функцията IF задава текста „Не е стартирано“. като резултат

Представеният път е практика, която Microsoft не препоръчва. Прозореците за съобщения не трябва да се показват в рамките на дефинирани от потребителя функции.

Не е необходимо да разделяте двата макроса START MACRO и DISPLAY. Можете също така да направите без командата CALL в макроса VBA и да включите командите за подпрограмата директно в подпрограмата FUNCTION.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave