Cum să salvați sau să păstrați selecții de casete de listă ActiveX în Excel?
Presupunând că ați creat câteva casete de listă și că ați făcut selecții în casetele de listă, cu toate acestea, toate selecțiile acestor casete de listă sunt dispărute când închideți și redeschideți registrul de lucru. Doriți să păstrați selecțiile făcute în casetele de listă ori de câte ori închideți și redeschideți registrul de lucru? Metoda din acest articol vă poate ajuta.
Salvați sau păstrați selecții de casete de listă ActiveX cu cod VBA în Excel
Introduceți sau ștergeți cu ușurință mai multe casete de selectare în bloc în Excel:
Căsuțe de selectare pentru inserții în lot utilitati ale Kutools pentru Excel vă poate ajuta să introduceți rapid mai multe casete de selectare în intervalul selectat simultan. Și puteți șterge toate casetele de selectare din intervalul selectat cu Casete de selectare Ștergere lot. Vedeți captura de ecran:
Kutools pentru Excel: cu mai mult de 200 de programe de completare Excel la îndemână, încercați fără limitări în 60 de zile. Descărcați și proba gratuită acum!
Salvați sau păstrați selecții de casete de listă ActiveX cu cod VBA în Excel
Codul VBA de mai jos vă poate ajuta să salvați sau să păstrați selecțiile dacă casetele de listă ActiveX din Excel. Vă rugăm să faceți următoarele.
1. În registrul de lucru conține casetele de listă ActiveX pe care doriți să le păstrați selecțiile, apăsați pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. În Microsoft Visual Basic pentru aplicații fereastră, faceți dublu clic Acest manual de lucru în panoul din stânga pentru a deschide fișierul Acest manual de lucru Cod fereastră. Și apoi copiați următorul cod VBA în fereastra de cod.
Cod VBA: Salvați selecțiile de casete de listă ActiveX în 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. apasă pe Alt + Q tastele pentru a închide Microsoft Visual Basic pentru aplicații fereastră.
4. Acum trebuie să salvați registrul de lucru ca un registru de lucru activat pentru Macro Excel. Vă rugăm să faceți clic pe Fișier > Salvare ca > Naviga.
5. În Salvare ca caseta de dialog, selectați un folder pentru a salva registrul de lucru, redenumiți-l după cum doriți, selectați Cartea de lucru Excel Macro-Enabled în Salvați ca tip lista verticală și, în cele din urmă, faceți clic pe Economisiți buton. Vedeți captura de ecran:
Salvați registrul de lucru de fiecare dată când actualizați casetele de listă. Apoi toate selecțiile anterioare vor fi păstrate în casetele de listă după redeschiderea registrului de lucru.
notițe: Când salvați registrul de lucru, o foaie de lucru numită „Date ListBox”Va fi creat automat la sfârșitul tuturor foilor de lucru din registrul dvs. de lucru, vă rugăm să ignorați această foaie de lucru, deoarece va dispărea automat când registrul de lucru este închis.
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!