Ga naar hoofdinhoud

Hoe selecties van ActiveX-keuzelijsten in Excel opslaan of behouden?

Stel dat u enkele keuzelijsten heeft gemaakt en selecties heeft gemaakt in de keuzelijsten, dan zijn alle selecties van deze keuzelijsten verdwenen wanneer u de werkmap sluit en opnieuw opent. Wilt u selecties die in keuzelijsten zijn gemaakt bij het sluiten behouden en de werkmap opnieuw openen? De methode in dit artikel kan je daarbij helpen.

Bewaar of bewaar selecties van ActiveX-keuzelijsten met VBA-code in Excel


Voeg eenvoudig meerdere selectievakjes bulksgewijs in of verwijder ze in Excel:

De Batch invoegen selectievakjes hulpprogramma's van Kutools for Excel kan u helpen snel meerdere selectievakjes tegelijk in het geselecteerde bereik in te voegen. En u kunt alle selectievakjes in het geselecteerde bereik verwijderen met de Batchverwijder selectievakjes. Zie sccreenshot:

Kutools for Excel: met meer dan 200 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 60 dagen. Download en probeer nu gratis!


Bewaar of bewaar selecties van ActiveX-keuzelijsten met VBA-code in Excel

De onderstaande VBA-code kan u helpen bij het opslaan of behouden van selecties als ActiveX-keuzelijsten in Excel. Ga als volgt te werk.

1. In de werkmap bevat de ActiveX-keuzelijsten waarvan u de selecties wilt behouden, druk op anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.

2. In de Microsoft Visual Basic voor toepassingen venster, dubbelklik Dit Werkboek in het linkerdeelvenster om het Dit Werkboek Code venster. En kopieer vervolgens de volgende VBA-code naar het codevenster.

VBA-code: bewaar selecties van ActiveX-keuzelijsten in 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. druk de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.

4. Nu moet u de werkmap opslaan als een Excel-werkmap met macro's. Klik alstublieft Dien in > Opslaan als > Blader.

5. In de Opslaan als dialoogvenster, selecteer een map om de werkmap op te slaan, hernoem deze zoals u nodig hebt, selecteer Excel-werkmap met ingeschakelde macro's in de Opslaan als type vervolgkeuzelijst en klik ten slotte op de Bespaar knop. Zie screenshot:

Sla de werkmap elke keer op wanneer u de keuzelijsten bijwerkt. Vervolgens worden alle eerdere selecties in de keuzelijsten bewaard nadat de werkmap opnieuw is geopend.

Note: Bij het opslaan van de werkmap wordt een werkblad met de naam “ListBox-gegevens” wordt automatisch aangemaakt aan het einde van alle werkbladen van uw werkmap. Negeer dit werkblad omdat het automatisch verdwijnt wanneer de werkmap wordt gesloten.

Beste Office-productiviteitstools

🤖 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

Omschrijving


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke 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