Jak zsynchronizować listy rozwijane w wielu arkuszach roboczych w programie Excel?
Załóżmy, że masz listy rozwijane w kilku arkuszach roboczych w skoroszycie, które zawierają dokładnie te same elementy rozwijane. Teraz chcesz zsynchronizować listy rozwijane w arkuszach roboczych, aby po wybraniu elementu z listy rozwijanej w jednym arkuszu, listy rozwijane w innych arkuszach były automatycznie synchronizowane z tym samym wyborem. Ten artykuł zawiera kod VBA, który pomoże Ci rozwiązać ten problem.
Synchronizuj listy rozwijane w wielu arkuszach roboczych z kodem VBA
Synchronizuj listy rozwijane w wielu arkuszach roboczych z kodem VBA
Na przykład listy rozwijane znajdują się w pięciu arkuszach o nazwie Arkusz1, Arkusz2, ... Arkusz5, aby zsynchronizować listy rozwijane w innych arkuszach roboczych zgodnie z wyborem rozwijanym w Arkuszu1, zastosuj następujący kod VBA, aby to zrobić.
1. Otwórz Arkusz1, kliknij prawym przyciskiem myszy kartę arkusza i wybierz Wyświetl kod z menu prawego przycisku myszy.
2. w Microsoft Visual Basic for Applications okno, wklej następujący kod VBA do Arkusz1 (Kod) okno.
Kod VBA: Synchronizuj listę rozwijaną w wielu arkuszach roboczych
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
Uwagi:
3. wciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.
Od teraz, po wybraniu elementu z rozwijanej listy w Arkusz1, listy rozwijane w określonych arkuszach roboczych zostaną zsynchronizowane automatycznie, aby mieć ten sam wybór. Zobacz poniższe demo.
Demo: Synchronizuj listy rozwijane w wielu arkuszach roboczych w programie Excel
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!