Hoppa till huvudinnehåll

Hur synkroniserar man rullgardinslistor i flera kalkylblad i Excel?

Författare: Siluvia Senast ändrad: 2024-12-05

Anta att du har rullgardinslistor på flera kalkylblad i en arbetsbok som innehåller exakt samma rullgardinsobjekt. Nu vill du synkronisera rullgardinslistorna över kalkylblad så att när du väl väljer ett objekt från en rullgardinslista i ett kalkylblad, synkroniseras rullgardinslistorna i andra kalkylblad automatiskt med samma urval. Den här artikeln innehåller en VBA-kod som hjälper dig att lösa det här problemet.

Synkronisera rullgardinslistor i flera kalkylblad med VBA-kod


Synkronisera rullgardinslistor i flera kalkylblad med VBA-kod

Till exempel finns listorna i fem kalkylblad med namn Blad1, Blad2, ... Blad 5, för att synkronisera rullistorna i andra kalkylblad enligt rullgardinsvalet i Sheet1, använd följande VBA-kod för att få det gjort.

1. Öppna Blad1, högerklicka på arkfliken och välj Visa kod från högerklick-menyn.

En skärmdump som visar högerklicksmenyn på Sheet1 för att se koden i Excel

2. I Microsoft Visual Basic för applikationer fönstret, klistra in följande VBA-kod i Blad1 (kod) fönster.

En skärmdump som visar Microsoft Visual Basic for Applications-fönstret där VBA-koden klistras in i Excel

VBA-kod: Synkronisera listrutan i flera kalkylblad

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

Anmärkningar:

1) I koden, A2: A11 är intervallet som innehåller rullgardinsmenyn. Se till att alla rullgardinslistor är i samma intervall över olika kalkylblad.
2) Blad2, Blad3, Blad4 och Sheet5 är kalkylblad som innehåller rullgardinslistor som du vill synkronisera baserat på rullgardinslistan i Kalkylblad1;
3) För att lägga till fler kalkylblad till koden, lägg till följande två rader före raden "Application.EnableEvents = True", ändra sedan arknamnet "Sheet5” till önskat namn.
Set tSheet1 = ActiveWorkbook.Worksheets("Sheet5")
tSheet1.Range(xRangeStr).Value = Target.Value

3. tryck på andra + Q för att stänga Microsoft Visual Basic för applikationer fönster.

Från och med nu, när du väljer ett objekt från rullgardinsmenyn i Blad 1, rullgardinslistorna i de angivna kalkylbladen synkroniseras automatiskt för att ha samma val. Se demon nedan.

En GIF som visar hur listorna synkroniseras över kalkylblad när ett objekt väljs i Excel


Demo: Synkronisera rullgardinslistor i flera kalkylblad i Excel

 

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!