Gå til hovedindhold

Hvordan gemmes eller bevares valg af ActiveX-listefelter i Excel?

Hvis du antager, at du har oprettet nogle listefelter og foretaget valg i listefelterne, er alle valg af disse listefelter imidlertid væk, når du lukker og genåbner projektmappen. Vil du bevare de valg, der er foretaget i listefelter, når du lukker og genåbner projektmappen? Metoden i denne artikel kan hjælpe dig.

Gem eller bevar valg af ActiveX-listefelter med VBA-kode i Excel


Indsæt eller slet let flere afkrydsningsfelter i bulk i Excel:

Batchindsats afkrydsningsfelter forsyninger af Kutools til Excel kan hjælpe dig med hurtigt at indsætte flere afkrydsningsfelter i det valgte område på én gang. Og du kan slette alle afkrydsningsfelter i det valgte område med Batch Slet afkrydsningsfelter. Se skærmbillede:

Kutools til Excel: med mere end 200 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 60 dage. Download og gratis prøveversion nu!


Gem eller bevar valg af ActiveX-listefelter med VBA-kode i Excel

Nedenstående VBA-kode kan hjælpe dig med at gemme eller bevare valg, hvis ActiveX-listefelter i Excel. Gør som følger.

1. I projektmappen indeholder de ActiveX-listefelter, du vil beholde valgene, skal du trykke på andre + F11 taster samtidigt for at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer dobbeltklik på vinduet ThisWorkbook i venstre rude for at åbne ThisWorkbook Kode vindue. Og kopier derefter følgende VBA-kode i kodevinduet.

VBA-kode: Gem valg af ActiveX-listefelter 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. Tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.

4. Nu skal du gemme projektmappen som en Excel Macro-aktiveret projektmappe. Klik venligst File (Felt) > Gem som > Gennemse.

5. i Gem som dialogboks, vælg en mappe for at gemme projektmappen, omdøb den efter behov, vælg Excel-makroaktiveret projektmappe i Filtype rullemenuen, og klik til sidst på Gem knap. Se skærmbillede:

Gem projektmappen hver gang, når du opdaterer listeboksene. Så vil alle tidligere valg blive bevaret i listeboksene efter genåbning af projektmappen.

Bemærk: Når du gemmer projektmappen, vises et arbejdsark med navnet "ListBox Data” vil blive oprettet automatisk i slutningen af ​​alle regneark i din projektmappe. Ignorer venligst dette regneark, fordi det forsvinder automatisk, når projektmappen lukkes.

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver 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