Vai al contenuto principale

Come sincronizzare gli elenchi a discesa in più fogli di lavoro in Excel?

Autore: Silvia Ultima modifica: 2024-12-05

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.

Uno screenshot che mostra il menu di scelta rapida su Sheet1 per visualizzare il codice in Excel

2. Nel Microsoft Visual Basic, Applications Edition finestra, incolla il seguente codice VBA nel file Foglio1 (Codice) finestra.

Uno screenshot che mostra la finestra di Microsoft Visual Basic for Applications in cui il codice VBA viene incollato in Excel

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:

1) Nel codice, A2: A11 è l'intervallo che contiene l'elenco a discesa. Assicurati che tutti gli elenchi a discesa si trovino nello stesso intervallo su fogli di lavoro diversi.
2) Foglio2, Foglio3, Foglio4 e di Sheet5 sono fogli di lavoro che contengono elenchi a discesa che si desidera sincronizzare in base all'elenco a discesa in Foglio1;
3) Per aggiungere più fogli di lavoro al codice, aggiungere le due righe seguenti prima della riga "Application.EnableEvents = True”, quindi cambia il nome del foglio “Sheet5" al nome desiderato.
Imposta tSheet1 = ActiveWorkbook.Worksheets("Foglio5")
tSheet1.Range(xRangeStr).Valore = Destinazione.Valore

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.

Una GIF che mostra come gli elenchi a discesa si sincronizzano tra i fogli di lavoro quando un elemento viene selezionato in Excel


Demo: sincronizza gli elenchi a discesa in più fogli di lavoro in Excel

 

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Tools (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Tools (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Tools (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Tools (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora
Utilizza Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

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!