Wie speichere oder behalte ich eine Auswahl von ActiveX-Listenfeldern in Excel?
Angenommen, Sie haben einige Listenfelder erstellt und in den Listenfeldern eine Auswahl getroffen. Alle Auswahlen dieser Listenfelder sind jedoch beim Schließen und erneuten Öffnen der Arbeitsmappe nicht mehr vorhanden. Möchten Sie die Auswahl in Listenfeldern beibehalten, wenn Sie die Arbeitsmappe schließen und erneut öffnen? Die Methode in diesem Artikel kann Ihnen helfen.
Speichern oder behalten Sie eine Auswahl von ActiveX-Listenfeldern mit VBA-Code in Excel
Einfaches Einfügen oder Löschen mehrerer Kontrollkästchen in großen Mengen in Excel:
Das Kontrollkästchen für Batch-Einfügung Dienstprogramme von Kutools for Excel kann Ihnen helfen, schnell mehrere Kontrollkästchen gleichzeitig in den ausgewählten Bereich einzufügen. Und Sie können alle Kontrollkästchen im ausgewählten Bereich mit dem löschen Kontrollkästchen zum Löschen von Stapeln. Siehe sccreenshot:
Kutools for Excel: Mit mehr als 200 praktischen Excel-Add-Ins können Sie es innerhalb von 60 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!
Speichern oder behalten Sie eine Auswahl von ActiveX-Listenfeldern mit VBA-Code in Excel
Der folgende VBA-Code kann Ihnen beim Speichern oder Beibehalten von Auswahlen in ActiveX-Listenfeldern in Excel helfen. Bitte gehen Sie wie folgt vor.
1. Drücken Sie in der Arbeitsmappe mit den ActiveX-Listenfeldern, in denen Sie die Auswahl behalten möchten, die Taste Andere + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
2. In dem Microsoft Visual Basic für Applikationen Fenster, doppelklicken Sie DiesesWorkbook im linken Bereich zum Öffnen der DiesesWorkbook Code Fenster. Kopieren Sie anschließend den folgenden VBA-Code in das Codefenster.
VBA-Code: Speichern Sie eine Auswahl von ActiveX-Listenfeldern 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. Drücken Sie die Taste Andere + Q Tasten zum Schließen der Microsoft Visual Basic für Applikationen Fenster.
4. Jetzt müssen Sie die Arbeitsmappe als Excel-Makro-fähige Arbeitsmappe speichern. bitte klicken Reichen Sie das > Speichern unter > Entdecken.
5. In dem Speichern unter Wählen Sie im Dialogfeld einen Ordner zum Speichern der Arbeitsmappe aus, benennen Sie ihn nach Bedarf um und wählen Sie aus Excel Makroaktivierte Arbeitsmappe der Speichern als Typ Dropdown-Liste und klicken Sie schließlich auf Speichern Taste. Siehe Screenshot:
Bitte speichern Sie die Arbeitsmappe jedes Mal, wenn Sie die Listenfelder aktualisieren. Dann bleiben alle vorherigen Auswahlen in den Listenfeldern erhalten, nachdem die Arbeitsmappe erneut geöffnet wird.
Note: Beim Speichern der Arbeitsmappe wird ein Arbeitsblatt mit dem Namen „ListBox-Daten” wird automatisch am Ende aller Arbeitsblätter Ihrer Arbeitsmappe erstellt. Bitte ignorieren Sie dieses Arbeitsblatt, da es automatisch verschwindet, wenn die Arbeitsmappe geschlossen wird.
Beste Office-Produktivitätstools
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, 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 Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!