Come sincronizzare gli elenchi a discesa in più fogli di lavoro in Excel?
Si supponga di avere elenchi a discesa su più fogli di lavoro in una cartella di lavoro che contengono esattamente gli stessi elementi a discesa. Ora si desidera 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 in altri fogli di lavoro vengano sincronizzati automaticamente 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 sono in cinque fogli di lavoro denominati Foglio1, Foglio2, ..., Foglio5, per sincronizzare gli elenchi a discesa in altri fogli di lavoro in base alla selezione a discesa in Foglio1, applicare il seguente codice VBA per farlo.
1. Aprire Foglio1, fare clic con il pulsante destro del mouse sulla scheda del foglio e selezionare Visualizza codice dal menu del tasto destro.
2. Nel Microsoft Visual Basic, Applications Edition finestra, incolla il seguente codice VBA nel file Foglio1 (Codice) finestra.
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 il altro + Q i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.
D'ora in poi, quando selezioni un elemento dall'elenco a discesa in 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 ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- 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, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!