KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторSiluviaДата изменения

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

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


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

Например, раскрывающиеся списки находятся на пяти листах с именами Sheet1, Sheet2,…,Sheet5. Чтобы синхронизировать раскрывающиеся списки на других листах в соответствии с выбором в раскрывающемся списке на Sheet1, примените следующий код VBA.

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

Снимок экрана, показывающий контекстное меню на листе Sheet1 для просмотра кода в Excel

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

Снимок экрана окна Microsoft Visual Basic для приложений, в которое вставлен код VBA в 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)Sheet2, Sheet3, Sheet4и Sheet5— это листы, содержащие Раскрывающийся список, которые необходимо синхронизировать на основе Раскрывающийся список на Sheet1;
3) Чтобы добавить в код ещё листы, вставьте следующие две строки перед строкой «Application.EnableEvents = True», затем замените имя листа «Sheet5» на нужное.
Set tSheet1 = ActiveWorkbook.Worksheets("Sheet5")
tSheet1.Range(xRangeStr).Value = Target.Value

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

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

GIF-анимация, демонстрирующая синхронизацию раскрывающихся списков между рабочими листами при выборе элемента в Excel


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

 

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

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  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.

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