Запускати макрос, коли виконується умова в таблиці Excel

Зміст

Ви можете використати хитрість, щоб запустити макрос, як тільки функція IF у вашій таблиці Excel дасть певний результат

Макрос має бути виконано в таблиці Excel, як тільки функція таблиці IF повертає логічне значення. В іншому випадку текст повинен просто відображатися.

Ви вирішуєте цю проблему за допомогою призначеної користувачем функції VBA. Ви працюєте з процедурою Function замість процедури Sub.

Якщо вже є макрос, який потрібно розпочати з функції IF, ви можете скопіювати код у процедуру Function або викликати з неї процедуру Sub.

Макрос з назвою “Startmacro” використовується як приклад і викликає лише просте діалогове вікно. Виконайте такі дії:

  1. Спочатку запустіть редактор VBA. Це можна зробити у всіх версіях Excel за допомогою комбінації клавіш ALT F11.
  2. Виберіть команду 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.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave