KutoolsforOffice — Eine Lösung, fünf leistungsstarke Tools.Mehr erreichen mit weniger Aufwand.März-Aktion: 20 % Rabatt

Wie kann man die Auswahl in ActiveX-Listenfeldern in Excel speichern oder beibehalten?

AutorSiluvia Änderungsdatum

Angenommen, Sie haben einige Listenfelder erstellt und darin eine Auswahl getroffen – doch beim Schließen und erneuten Öffnen der Arbeitsmappe sind alle Ihre Auswahlmarkierungen verschwunden. Möchten Sie, dass die in den Listenfeldern getroffenen Auswahlen auch nach dem Schließen und erneuten Öffnen der Arbeitsmappe erhalten bleiben? Die Methode in diesem Artikel hilft Ihnen dabei.

Auswahl von ActiveX-Listenfeldern mithilfe von VBA-Code in Excel speichern oder beibehalten


Auswahl von ActiveX-Listenfeldern mithilfe von VBA-Code in Excel speichern oder beibehalten

Der folgende VBA-Code unterstützt Sie dabei, die Auswahl in ActiveX-Listenfeldern in Excel zu speichern und beizubehalten. Gehen Sie dazu wie folgt vor:

1. Drücken Sie in der Arbeitsmappe, die die ActiveX-Listenfelder enthält, deren Auswahl Sie beibehalten möchten, gleichzeitig die Tasten Alt + F11, um das Fenster Microsoft Visual Basic for Applications zu öffnen.

2. Doppelklicken Sie im Fenster Microsoft Visual Basic for Applications im linken Bereich auf DieseArbeitsmappe, um das Code-Fenster für DieseArbeitsmappe zu öffnen. Fügen Sie anschließend den folgenden VBA-Code in das Code-Fenster ein.

VBA-Code: Auswahl von ActiveX-Listenfeldern in Excel speichern

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

Ein Screenshot, der zeigt, wie der VBA-Code verwendet wird

3. Drücken Sie die Tasten Alt + Q, um das Fenster Microsoft Visual Basic for Applications zu schließen.

4. Speichern Sie die Arbeitsmappe nun als Excel-Arbeitsmappe mit Makros. Klicken Sie dazu auf Datei > Speichern unter > Durchsuchen.

Ein Screenshot des Öffnens des Dialogfelds „Speichern unter“

5. Wählen Sie im Dialogfeld Speichern unter den gewünschten Speicherort für die Arbeitsmappe aus, geben Sie ihr gegebenenfalls einen neuen Namen, wählen Sie im Dropdown-Menü unter Speichern im Format die Option Excel-Arbeitsmappe mit Makros aus und klicken Sie abschließend auf die Schaltfläche Speichern. Siehe Screenshot:

Ein Screenshot des Speicherns der Arbeitsmappe als makrofähige Excel-Arbeitsmappe

Speichern Sie die Arbeitsmappe jedes Mal, wenn Sie die Listenfelder aktualisieren. Dadurch bleiben alle vorherigen Auswahlen in den Listenfeldern nach dem erneuten Öffnen der Arbeitsmappe erhalten.

Hinweis: Beim Speichern der Arbeitsmappe wird automatisch ein Arbeitsblatt mit dem Namen „ListBox Data“ am Ende aller Arbeitsblätter Ihrer Arbeitsmappe erstellt. Ignorieren Sie dieses Arbeitsblatt – es verschwindet automatisch wieder, sobald Sie die Arbeitsmappe schließen.


Beste Office-Produktivitätstools

🤖KUTOOLS AI-Assistent: Revolutionieren Sie Datenanalyse basierend auf:Intelligente Ausführung   |  Code generieren|  benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme erstellen|  Erweiterte Funktionen aufrufen
Beliebte Funktionen:Suchen, hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten kombinieren oder Zellen ohne Datenverlust   |   Runden ohne Formel...
Erweiterte SVERWEIS:VLookup mit mehreren Kriterien  |  VLookup mit mehreren Werten  |   VLookup über mehrere Arbeitsblätter hinweg   |   Fuzzy Match....
Erweiterte Dropdown-Liste:Schnell eine Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl-Dropdown-Liste....
Spalten-Manager:Eine bestimmte Anzahl von Spalten hinzufügen|Spalten verschieben|Sichtbarkeitsstatus ausgeblendeter Spalten umschalten|Bereiche & Spalten vergleichen...
Hervorgehobene Funktionen:Gitterfokus   |  Entwurf   |Erweiterte Formelleiste   | Arbeitsmappen- & Blatt-Manager   |  Ressourcenbibliothek(AutoText)|  Datumsauswahl   |  Arbeitsblätter konsolidieren  |  Verschlüsseln/Zellen entschlüsseln   | E-Mails per Liste versenden   |  Super Filter   |   Spezialfilter(Zellen mit fettgedruckter Schrift filtern/kursiv/durchgestrichen...) ...
Top-15-Toolsets:12-Text-Tools(Text hinzufügen,Bestimmte Zeichen löschen, ...)|   50+-Diagramm-Typen(Gantt-Diagramm, ...)|   40+ Praktische Formeln(Alter basierend auf dem Geburtstag berechnen, ...)|   19-Einfüge-Tools(QR-Code einfügen,Bild aus Pfad einfügen, ...)|   12-Konvertierungs-Tools(In Wörter umwandeln,Wechselkursumrechnung, ...)|   7-Vereinigen/Aufteilen-Tools(Erweiterte Zeilen zusammenführen,Zellen aufteilen, ...)|... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und 40+ weitere Sprachen!

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...


Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
  • Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!

Alle Kutools-Add-Ins – ein Installationsprogramm

Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
  • Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
  • Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
  • 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins