Как синхронизировать раскрывающийся список на нескольких листах в Excel?
Предположим, у вас есть раскрывающийся список на нескольких листах одной книги, содержащий одинаковые элементы. Теперь вы хотите синхронизировать эти раскрывающиеся списки между листами так, чтобы при выборе элемента в одном из них все остальные автоматически обновлялись тем же значением. В этой статье приведён код VBA, который поможет вам решить эту задачу.
Синхронизация Раскрывающийся список на нескольких листах с помощью кода VBA
Синхронизация Раскрывающийся список на нескольких листах с помощью кода VBA
Например, раскрывающиеся списки находятся на пяти листах с именами Sheet1, Sheet2,…,Sheet5. Чтобы синхронизировать раскрывающиеся списки на других листах в соответствии с выбором в раскрывающемся списке на Sheet1, примените следующий код VBA.
1. Откройте Sheet1, щёлкните правой кнопкой мыши по ярлыку листа и выберите в контекстном меню Просмотреть код.

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

Код 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 Примечания:
3. Нажмите клавиши Alt+Q, чтобы закрыть окно Microsoft Visual Basic for Applications.
Теперь, когда вы выбираете элемент из раскрывающегося списка на листе Sheet1, раскрывающиеся списки на указанных листах автоматически синхронизируются с тем же значением. См. демонстрацию ниже.

Демонстрация: Синхронизация Раскрывающийся список на нескольких листах в Excel
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал 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 и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек