Zum Hauptinhalt springen

Wie kann man Auswahlmöglichkeiten von ActiveX-Listenfeldern in Excel speichern oder beibehalten?

Author: Siluvia Last Modified: 2025-08-06

Angenommen, Sie haben einige Listenfelder erstellt und Auswahlmöglichkeiten in den Listenfeldern getroffen, jedoch gehen alle diese Auswahlmöglichkeiten verloren, wenn Sie die Arbeitsmappe schließen und wieder öffnen. Möchten Sie die getroffenen Auswahlmöglichkeiten in den Listenfeldern immer dann beibehalten, wenn Sie die Arbeitsmappe schließen und wieder öffnen? Die Methode in diesem Artikel kann Ihnen helfen.

Auswahlmöglichkeiten von ActiveX-Listenfeldern mit VBA-Code in Excel speichern oder beibehalten


Auswahlmöglichkeiten von ActiveX-Listenfeldern mit VBA-Code in Excel speichern oder beibehalten

Der folgende VBA-Code kann Ihnen helfen, die Auswahlmöglichkeiten von ActiveX-Listenfeldern in Excel zu speichern oder beizubehalten. Bitte gehen Sie wie folgt vor.

1. Drücken Sie in der Arbeitsmappe, die die ActiveX-Listenfelder enthält, deren Auswahlmöglichkeiten 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 ThisWorkbook, um das ThisWorkbook Codefenster zu öffnen. Kopieren Sie dann den folgenden VBA-Code in das Codefenster.

VBA-Code: Auswahlmöglichkeiten 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

a screenshot showing how to use the VBA code

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

4. Nun müssen Sie die Arbeitsmappe als eine Excel-Makro-fähige Arbeitsmappe speichern. Klicken Sie dazu auf Datei > Speichern unter > Durchsuchen.

a screenshot of opening the Save As dialog box

5. Wählen Sie im Dialogfeld „Speichern unter“ einen Ordner aus, um die Arbeitsmappe zu speichern, benennen Sie sie nach Bedarf um, wählen Sie Excel-Makro-fähige Arbeitsmappe aus der Dropdown-Liste „Speichern im Format“ aus und klicken Sie abschließend auf die Schaltfläche Speichern. Siehe Screenshot:

a screenshot of saving the workbook as an Excel Macro-Enabled Workbook

Speichern Sie die Arbeitsmappe jedes Mal, wenn Sie die Listenfelder aktualisieren. Dann werden alle vorherigen Auswahlmöglichkeiten in den Listenfeldern nach dem erneuten Öffnen der Arbeitsmappe beibehalten.

Hinweis: Beim Speichern der Arbeitsmappe wird automatisch ein Arbeitsblatt namens „ListBox Data“ am Ende aller Arbeitsblätter Ihrer Arbeitsmappe erstellt. Ignorieren Sie dieses Arbeitsblatt, da es automatisch verschwindet, wenn die Arbeitsmappe geschlossen wird.


Die besten Office-Produktivitätstools

🤖 Kutools AI Aide: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung |  Code generieren  |  Benutzerdefinierte Formeln erstellen |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen ohne Datenverlust zusammenführen | Runden
Erweiterte SVERWEIS: SVERWEIS mit mehreren Kriterien | SVERWEIS für mehrere Werte | Mehrblatt-SVERWEIS | Fuzzy Match
Erweiterte Dropdown-Liste: Dropdown-Liste schnell erstellen | Abhängige Dropdown-Liste | Mehrfachauswahl-Dropdown-Liste
Spalten-Manager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeit von ausgeblendeten Spalten umschalten | Bereiche & Spalten vergleichen
Hervorgehobene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappen- & Blattmanager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (Filtern nach Fett/Kursiv/Durchgestrichen...)…
Top15 Toolsets:12 Text-Tools (Text hinzufügen, Bestimmte Zeichen löschen, ...) | 50+ Diagramm typen (Gantt-Diagramm, ...) | 40+ praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...) | 19 Einfüge-Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...) | 12 Konvertierungs-Tools (In Wörter umwandeln, Währungsumrechnung, ...) | 7 Konsolidieren & Aufteilen-Tools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Nutzen Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere Sprachen!

Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre Produktivität zu steigern und Zeit zu sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt die Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen in Reitern in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Reitern desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich Hunderte von Mausklicks!