Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Siluvia Last modified

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

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


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

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

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

A screenshot showing the right-click menu on Sheet1 to view the code in Excel

2. В окне Microsoft Visual Basic for Applications вставьте следующий код VBA в окно Лист1 (Код).

A screenshot showing the Microsoft Visual Basic for Applications window where the VBA code is pasted in Excel

Код 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 и Лист5 — это листы, содержащие раскрывающиеся списки, которые вы хотите синхронизировать на основе раскрывающегося списка в Лист1;
3) Чтобы добавить больше листов в код, добавьте следующие две строки перед строкой «Application.EnableEvents = True», затем измените имя листа «Лист5» на желаемое.
Set tSheet1 = ActiveWorkbook.Worksheets("Лист5")
tSheet1.Range(xRangeStr).Value = Target.Value

3. Нажмите клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic for Applications.

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

A GIF showing how the drop-down lists synchronize across worksheets when an item is selected in Excel


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

 

Лучшие инструменты для повышения продуктивности в Office

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

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек