Hoppa till huvudinnehåll

Hur sparar eller behåller du val av ActiveX-listrutor i Excel?

Om du antar att du har skapat några listrutor och gjort val i listrutorna, är alla val av dessa listrutor borta när arbetsboken stängs och öppnas igen. Vill du behålla val som gjorts i listrutor när du stänger och öppnar arbetsboken igen? Metoden i den här artikeln kan hjälpa dig.

Spara eller behåll val av ActiveX-listrutor med VBA-kod i Excel


Enkelt infoga eller ta bort flera kryssrutor i bulk i Excel:

Smakämnen Kryssrutor för satsinsats verktyg för Kutools för Excel kan hjälpa dig att snabbt infoga flera kryssrutor i valt intervall samtidigt. Och du kan ta bort alla kryssrutor i valt intervall med Bockradera kryssrutor. Se skärmdump:

Kutools för Excel: med mer än 200 praktiska Excel-tillägg, gratis att prova utan begränsning på 60 dagar. Ladda ner och testa gratis nu!


Spara eller behåll val av ActiveX-listrutor med VBA-kod i Excel

Nedanstående VBA-kod kan hjälpa dig att spara eller behålla val om ActiveX-listrutor i Excel. Gör så här.

1. I arbetsboken innehåller ActiveX-listrutorna som du vill behålla markeringen, tryck på andra + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer dubbelklicka Denna arbetsbok i den vänstra rutan för att öppna Denna arbetsbok Koda fönster. Kopiera sedan följande VBA-kod till kodfönstret.

VBA-kod: Spara val av ActiveX-listrutor i Excel

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim I As Long
    Dim J As Long
    Dim K As Long
    Dim KK As Long
    Dim xSheet As Worksheet
    Dim xListBox As Object
    On Error GoTo Label
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    K = 0
    KK = 0
    If Not Sheets("ListBox Data") Is Nothing Then
        Sheets("ListBox Data").Delete
    End If
Label:
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "ListBox Data"
    Set xSheet = Sheets("ListBox Data")
    For I = 1 To Sheets.Count
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                For J = 0 To .ListCount - 1
                    If .Selected(J) Then
                        xSheet.Range("A1").Offset(K, KK).Value = "True"
                    Else
                        xSheet.Range("A1").Offset(K, KK).Value = "False"
                    End If
                    K = K + 1
                Next
                End With
                K = 0
                KK = KK + 1
            End If
        Next
    Next
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
    Dim I As Long
    Dim J As Long
    Dim KK As Long
    Dim xRg As Range
    Dim xCell As Range
    Dim xListBox As Object
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    KK = 0
    For I = 1 To Sheets.Count - 1
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                    Set xRg = Intersect(Sheets("ListBox Data").Range("A1").Offset(0, KK).EntireColumn, Sheets("ListBox Data").UsedRange)
                    For J = 1 To .ListCount
                        Set xCell = xRg(J)
                        If xCell.Value = "True" Then
                            .Selected(J - 1) = True
                        End If
                    Next
                    KK = KK + 1
                End With
            End If
        Next
    Next
    Sheets("ListBox Data").Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

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

4. Nu måste du spara arbetsboken som en Excel Macro-aktiverad arbetsbok. var god klicka Fil > Spara som > Bläddra.

5. I Spara som dialogrutan, välj en mapp för att spara arbetsboken, byt namn på den efter behov, välj Excel Macro-Enabled Workbook i Spara som rullgardinsmenyn och klicka slutligen på Save knapp. Se skärmdump:

Spara arbetsboken varje gång du uppdaterar listrutorna. Då kommer alla tidigare val att behållas i listrutorna efter att arbetsboken har öppnats igen.

Anmärkningar: När du sparar arbetsboken visas ett kalkylblad med namnet "ListBox Data” kommer att skapas automatiskt i slutet av alla kalkylblad i din arbetsbok, vänligen ignorera detta kalkylblad eftersom det försvinner automatiskt när arbetsboken stängs.

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...

Beskrivning


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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi - Is there any way to prevent the "ListBox Data" tab from opening when you save the file? We're trying to send this to users but every time I save it opens the ListBox Data tab and then I can't save it with the primary tab open - which is confusing for users.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations