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

Как запустить макрос на основе значения, выбранного из раскрывающегося списка в Excel?

Запуск макросов путем нажатия кнопки управления - обычная задача в Excel, но пытались ли вы когда-нибудь выполнить коды макросов на основе значения, выбранного из раскрывающегося списка? Это означает, что когда вы выбираете один элемент из раскрывающегося списка, конкретный макрос будет запущен сразу. Эта статья познакомит вас с полезным кодом для решения этой задачи.

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


стрелка синий правый пузырь Запустить макрос на основе значения, выбранного из раскрывающегося списка с кодом VBA

Прямого способа выполнить эту задачу нет, но следующий код VBA может вам помочь, сделайте следующее:

1. Во-первых, создайте выпадающий список по мере необходимости, см. Снимок экрана:

макрос запуска документа из раскрывающегося списка 1

2. Затем щелкните правой кнопкой мыши вкладку листа, содержащую раскрывающийся список, который вы хотите использовать, а затем выберите Просмотреть код из контекстного меню, а в открывшемся Microsoft Visual Basic для приложений окна, скопируйте и вставьте следующий код в пустой модуль:

Код VBA: запуск макроса на основе значения, выбранного из раскрывающегося списка:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

макрос запуска документа из раскрывающегося списка 2

Внимание: В приведенном выше коде E1 Если ячейка содержит раскрывающийся список, измените имена макросов и значения раскрывающегося списка на свои.

3. А затем сохраните и закройте это окно кода, теперь, когда вы выбираете элемент «Вставить пустые строки» из раскрывающегося списка, запускается макрос Macro1 и так далее ...


Статьи по теме:

Как запустить макрос при изменении значения ячейки в Excel?

Как запустить макрос на основе значения ячейки в Excel?

Как запустить макрос автоматически перед печатью в Excel?

Как запустить макрос, щелкнув гиперссылки в Excel?

Как запустить макрос, когда лист выбран из книги?


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (6)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
efectivamente funciona pero quiero aplicarlo en celdas varias, que Varias debo cambiar?
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ использовать код VBA для этого в Access? Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Привет!

Al aplicarlo меня продажа ип ошибки де compilación: La declaración del procedimiento не совпадает с la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Грасиас
Этот комментарий был сведен к минимуму модератором на сайте
Доброе утро. Сможете ли вы сделать макрос из раскрывающегося меню для следующего: запустить макрос и сохранить отдельные листы для каждого элемента из раскрывающегося меню? В вашем случае должно выглядеть так:
1. Вы запускаете макрос, а затем у вас есть отдельный лист со значениями для «Вставить пустые строки», сохраненными в указанной папке.
2. Отдельный лист со значениями для «Скрыть все листы:», сохраненными в указанной папке.
3. Отдельный лист со значениями для «Преобразовать в дату», сохраненными в указанной папке.
4. Макрос готов


В основном я могу установить все это, за исключением того, что макрос автоматически меняет выбор из выпадающего меню?


Спасибо


Иван
Этот комментарий был сведен к минимуму модератором на сайте


ПЕРВЫЙ КОД РАБОТАЕТ ОТЛИЧНОPrivate Sub Worksheet_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
Этот комментарий был сведен к минимуму модератором на сайте
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na to łatwiejszy sposób?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL