Note: The other languages of the website are Google-translated. Back to English

 Як запустити макрос на основі значення комірки в Excel?

Припустимо, у моїй книзі є кілька макрокодів, і тепер я хочу запустити ці коди на основі значення комірки. У цій статті я розповім про кілька ситуацій, які можуть виникнути у вашій щоденній роботі під час використання Excel.

Запустити або запустити макрос, якщо значення комірки більше або менше, ніж певне значення з кодом VBA

Запустити або запустити макрос, якщо значення комірки дорівнює певному тексту з кодом VBA


стрілка синя права міхур Запустити або запустити макрос, якщо значення комірки більше або менше, ніж певне значення з кодом VBA

Наприклад, якщо значення в комірці A1 знаходиться між 10 і 50, запустіть macro1, а якщо значення більше 50, запустіть macro2. Щоб вирішити цю роботу в Excel, застосуйте такий код VBA.

1. Клацніть правою кнопкою миші вкладку аркуша, на якій потрібно виконати макрос на основі значення комірки, а потім виберіть Переглянути код з контекстного меню та у відкритому вікні Microsoft Visual Basic для програм вікно, скопіюйте та вставте наступний код у порожній модуль:

Код VBA: Запустити макрос, якщо значення комірки більше або менше:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) And Target.Address = "$A$1" Then
        Select Case Target.Value
        Case 10 To 50: Macro1
        Case Is > 50: Macro2
        End Select
    End If
End Sub

doc запустити макрос на основі значення комірки 1

примітки: У наведеному вище коді:

A1 це комірка, яка містить конкретне значення, на якому ви хочете запустити макрос;

Випадок 10 до 50: Макро1: це означає, що якщо значення між 10 і 50, запустіть Macro1;

Справа> 50: Macro2: це означає, що якщо значення більше 50, запустіть Macro2.

Будь ласка, змініть назви макросів та критерії цих тез відповідно до ваших потреб, а також ви можете додати більше критеріїв, слідуючи випадок сценарій

2. Потім збережіть і закрийте це вікно коду, тепер, коли введене значення знаходиться в діапазоні від 10 до 50 у комірці A1, буде активовано Macro1, якщо введене значення більше 50, виконується Macro2.


стрілка синя права міхур Запустити або запустити макрос, якщо значення комірки дорівнює певному тексту з кодом VBA

Якщо ви хочете запустити макрос на основі конкретного тексту в комірці, наприклад, запустити макрос1, якщо введено текст “Видалити”, і запустити макрос2, якщо введено текст “Вставити”. Наступний код може зробити вам послугу.

1. Клацніть правою кнопкою миші аркуш, який потрібно виконати, макрос на основі значення комірки, а потім виберіть Переглянути код з контекстного меню та у відкритому вікні Microsoft Visual Basic для програм вікно, скопіюйте та вставте наступний код у порожній модуль:

Код VBA: Запустіть макрос, якщо значення комірки більше або менше:

Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
 Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub 

doc запустити макрос на основі значення комірки 2

примітки: У наведеному вище коді "видаляти"І"Insert- це тексти комірок, на основі яких ви хочете запускати макроси, та Макро1 і Макро2 - це макроси, які ви хочете виконати на основі тексту. Будь ласка, змініть їх на свої потреби.

2. Потім збережіть цей код і закрийте вікно, тепер, коли ви вводите текст «Видалити» в комірку А1, запускається макро1, якщо введено текст «Вставити», макро2 буде виконано.


Статті по темі:

Як запустити макрос, коли значення комірки змінюється в Excel?

Як запустити макрос автоматично перед друком у Excel?

Як запустити макрос на основі значення, вибраного зі спадного списку в Excel?

Як запустити макрос, клацнувши гіперпосилання в Excel?

Як запустити макрос, коли аркуш вибрано з книги?


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (4)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Привіт, а якщо ви хочете запустити макрос на основі двох клітинок? Одна клітинка заснована на тексті, а інша клітинка має числові значення? Тоді ви захочете викликати макрос, якщо дві клітинки показують саме те, що ви хочете, наприклад «ТАК» для першої клітинки та 1 для другої клітинки, якщо ні, у спливаючому вікні з’явиться повідомлення «Не знайдено».
Цей коментар був мінімізований модератором на сайті
вимога:
На основі відбору
З’явиться спадний список для наступних трьох властивостей того самого розміру, як показано нижче.
І буде три похідні клітинки, які будуть отримані з клітинок (G46, G47 і G48)

Сценарій:
Якщо я вибираю значення зі спадного списку МВЗ, у похідну комірку МВЗ (K46) має бути заповнено значення, вибране зі спадного списку МВЗ (H46), а дві інші похідні клітинки (K47 і k48) мають стати порожніми.

Аналогічно, якщо я вибираю значення зі спадного списку Менеджера бюджету, осередок похідного Менеджера бюджету має бути заповнено значенням, вибраним зі спадного списку Менеджера бюджету (H47), а дві інші похідні клітинки (K45 і k48) мають стати порожніми.
Цей коментар був мінімізований модератором на сайті
Я працюю з аналізом результатів. У цьому випадку дані в Excel будуть виглядати так: Name, Sub name, Crade. Тепер я хочу знайти за результатами всі успішні або успішні номери кандидатів. Як я можу це отримати. Тому що я маю 6 різних предметів і їхні результати в одному аркуші Excel. Якщо учень зазнав невдачі з одного предмета, він не є успішним учнем. Як видалити їх назву з усіх предметів.
Цей коментар був мінімізований модератором на сайті
Будь ласка, виправте код для одного робочого аркуша.
ПЕРШИЙ КОД ПРАЦЮЄ ІДЕАЛЬНО
Приватний допоміжний робочий лист_Change(ByVal Target As Range)
Якщо не перетинається(ціль, діапазон("D1")) то нічого
Виберіть діапазон випадків ("D1")
Випадок «0.5»: Половина
Випадок «1»: один
Випадок «1.25»: OneTwentyFive
End Select
End If
End Sub

ДРУГИЙ КОД НЕ ПРАЦЮЄ (виправте, будь ласка, наведене нижче)
Зміна приватного підпорядкування (ByVal Target As Range)
Якщо не перетинається(ціль, діапазон("D2")) то нічого
Виберіть діапазон випадків ("D2")
Справа «9.53»: дев’ять п’ять три
End Select
End If
End Sub
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0  Персонажі
Рекомендовані місця