Перейти к основному содержанию
 

Как синхронизировать выпадающие списки на нескольких листах в Excel?

Автор: Силувия Последнее изменение: 2022 июля 10 г.

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

Синхронизируйте раскрывающиеся списки на нескольких листах с кодом VBA


Синхронизируйте раскрывающиеся списки на нескольких листах с кодом VBA

Например, раскрывающиеся списки находятся на пяти рабочих листах с именами Лист1, Лист2, ..., Лист5, чтобы синхронизировать раскрывающиеся списки на других листах в соответствии с раскрывающимся выбором на Листе 1, примените следующий код VBA, чтобы сделать это.

1. Откройте Sheet1, щелкните правой кнопкой мыши вкладку листа и выберите Просмотреть код из контекстного меню.

2. в Microsoft Visual Basic для приложений окно, вставьте следующий код VBA в Лист1 (Код) окно.

Код VBA: синхронизировать раскрывающийся список на нескольких листах

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220815
    Dim tSheet1 As Worksheet
    Dim tRange As Range
    Dim xRangeStr As String
    On Error Resume Next
    If Target.Count > 1 Then Exit Sub
    
    xRangeStr = "A2:A11"

    Set tRange = Intersect(Target, Range(xRangeStr))
    If Not tRange Is Nothing Then
        xRangeStr = tRange.Address
        Application.EnableEvents = False
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet2")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet3")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet4")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet5")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Application.EnableEvents = True
    End If
    
End Sub

Ноты:

1) В коде A2: A11 это диапазон, содержащий раскрывающийся список. Убедитесь, что все раскрывающиеся списки находятся в одном диапазоне на разных листах.
2) Лист2, Лист3, Лист4 и Sheet5 рабочие листы, которые содержат раскрывающиеся списки, которые вы хотите синхронизировать на основе раскрывающегося списка в Sheet1;
3) Чтобы добавить больше рабочих листов в код, добавьте следующие две строки перед строкой «Application.EnableEvents = True", затем измените имя листа "Sheet5» на нужное вам имя.
Установите tSheet1 = ActiveWorkbook.Worksheets("Лист5")
tSheet1.Range(xRangeStr).Значение = Целевое значение.Значение

3. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.

Отныне при выборе элемента из выпадающего списка в Лист1, раскрывающиеся списки на указанных рабочих листах будут автоматически синхронизированы, чтобы иметь одинаковый выбор. См. приведенную ниже демонстрацию.


Демонстрация: синхронизация раскрывающихся списков на нескольких листах в Excel

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

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!