Come sincronizzare gli elenchi a discesa in più fogli di lavoro in Excel?
Supponiamo che tu abbia elenchi a discesa su diversi fogli di lavoro in una cartella di lavoro che contengono esattamente gli stessi elementi a discesa. Ora vuoi sincronizzare gli elenchi a discesa tra i fogli di lavoro in modo che, una volta selezionato un elemento da un elenco a discesa in un foglio di lavoro, gli elenchi a discesa negli altri fogli di lavoro vengano automaticamente sincronizzati con la stessa selezione. Questo articolo fornisce un codice VBA per aiutarti a risolvere questo problema.
Sincronizza gli elenchi a discesa in più fogli di lavoro con il codice VBA
Sincronizza gli elenchi a discesa in più fogli di lavoro con il codice VBA
Ad esempio, gli elenchi a discesa si trovano in cinque fogli di lavoro denominati Foglio1, Foglio2, ..., Foglio5, per sincronizzare gli elenchi a discesa negli altri fogli di lavoro in base alla selezione a discesa nel Foglio1, applica il seguente codice VBA per farlo.
1. Apri Foglio1, fai clic con il tasto destro sul tab del foglio e seleziona Visualizza Codice dal menu contestuale.
2. Nella finestra Microsoft Visual Basic for Applications, incolla il seguente codice VBA nella finestra Foglio1 (Codice).
Codice VBA: Sincronizza l'elenco a discesa in più fogli di lavoro
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
Note:
3. Premi i tasti Alt + Q per chiudere la finestra Microsoft Visual Basic for Applications.
Da ora in poi, quando selezioni un elemento dall'elenco a discesa nel Foglio1, gli elenchi a discesa nei fogli di lavoro specificati verranno sincronizzati automaticamente per avere la stessa selezione. Guarda la demo qui sotto.
Demo: Sincronizza gli elenchi a discesa in più fogli di lavoro in Excel
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!