Ви можете використати хитрість, щоб запустити макрос, як тільки функція IF у вашій таблиці Excel дасть певний результат
Макрос має бути виконано в таблиці Excel, як тільки функція таблиці IF повертає логічне значення. В іншому випадку текст повинен просто відображатися.
Ви вирішуєте цю проблему за допомогою призначеної користувачем функції VBA. Ви працюєте з процедурою Function замість процедури Sub.
Якщо вже є макрос, який потрібно розпочати з функції IF, ви можете скопіювати код у процедуру Function або викликати з неї процедуру Sub.
Макрос з назвою “Startmacro” використовується як приклад і викликає лише просте діалогове вікно. Виконайте такі дії:
- Спочатку запустіть редактор VBA. Це можна зробити у всіх версіях Excel за допомогою комбінації клавіш ALT F11.
- Виберіть команду INSERT - MODULE, щоб вставити новий аркуш модуля.
Введіть такі команди VBA:
Загальнодоступна функція Startmakro () As String
Оголошення для дзвінків
Почати макрос = "Початок".
Функція завершення
Додатковий дисплей ()
MsgBox "Макрос запущений"
End Sub
Код програми складається з двох окремих частин. Перший фрагмент представляє нову табличну функцію STARTMAKRO. Другий фрагмент використовується для відображення тексту "Макрос розпочався".
Після введення команд викликайте команду ЗАКРИТИ І ПОВЕРНУТИСЯ ДО МІКРОСОФТА EXCEL у меню ФАЙЛ у редакторі VBA. Це поверне вас до вашого столу.
Як включити макрос до функції IF
Щоб перевірити, чи працює макрос належним чином, введіть таку функцію в клітинку A2 таблиці:
= IF (A1 = 1; startmakro (); "Не запущено.")
Якщо ви введете число 1 у клітинку A1, макрос буде викликаний вашою функцією, визначеною користувачем. Вікно повідомлення з'явиться, як показано на наступному малюнку:
Потім є текст "Початок". У камері. Визначена користувачем функція електронної таблиці повернула цей результат до Excel.
Якщо вміст комірки A1 відрізняється від 1, макрос не запускається. У цьому випадку функція IF встановлює текст "Не розпочато". як результат
Представлений шлях - це практика, яку Microsoft не рекомендує. Вікна повідомлень не повинні відображатися в межах визначених користувачем функцій.
Немає необхідності розділяти два макроси START MACRO та DISPLAY. Ви також можете обійтися без команди CALL у макросі VBA і включити команди для підпрограми безпосередньо до підпрограми FUNCTION.