Wie kann man Auswahlmöglichkeiten von ActiveX-Listenfeldern in Excel speichern oder beibehalten?
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
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.
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:
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 Produktivitätstools für das Büro
Stärken Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und genießen Sie Effizienz wie nie zuvor. Kutools für Excel bietet mehr als300 erweiterte Funktionen, um die 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 Tab-Oberfläche in Office und macht Ihre Arbeit wesentlich einfacher
- Aktivieren Sie die Tabulator-Bearbeitung und das Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Tabs innerhalb desselben Fensters, statt in neuen Einzelfenstern.
- Steigert Ihre Produktivität um50 % und reduziert hunderte Mausklicks täglich!
Alle Kutools-Add-Ins. Ein Installationspaket
Das Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro und ist ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.





- All-in-One-Paket — Add-Ins für Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Ein Installationspaket, eine Lizenz — in wenigen Minuten einsatzbereit (MSI-kompatibel)
- Besser gemeinsam — optimierte Produktivität in allen Office-Anwendungen
- 30 Tage kostenlos testen — keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis — günstiger als Einzelkauf der Add-Ins