Как синхронизировать раскрывающиеся списки на нескольких листах в Excel?
Предположим, у вас есть раскрывающиеся списки на нескольких листах в книге, которые содержат точно такие же элементы. Теперь вы хотите синхронизировать раскрывающиеся списки между листами так, чтобы при выборе элемента из раскрывающегося списка на одном листе, списки на других листах автоматически обновлялись до того же значения. В этой статье представлен код VBA, который поможет вам решить эту задачу.
Синхронизация раскрывающихся списков на нескольких листах с помощью кода VBA
Синхронизация раскрывающихся списков на нескольких листах с помощью кода VBA
Например, раскрывающиеся списки находятся на пяти листах с именами Лист1, Лист2, ..., Лист5. Чтобы синхронизировать раскрывающиеся списки на остальных листах согласно выбору в Лист1, примените следующий код VBA.
1. Откройте Лист1, щелкните правой кнопкой мыши по ярлыку листа и выберите Просмотр кода в контекстном меню.
2. В окне Microsoft Visual Basic for Applications вставьте следующий код 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
Примечания:
3. Нажмите клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic for Applications.
Теперь, когда вы выбираете элемент из раскрывающегося списка на Лист1, раскрывающиеся списки на указанных листах будут автоматически синхронизированы для отображения того же выбора. Смотрите демонстрацию ниже.
Демо: Синхронизация раскрывающихся списков на нескольких листах в Excel
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!