Salt la conținutul principal

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

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Î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...

Descriere


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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi - Is there any way to prevent the "ListBox Data" tab from opening when you save the file? We're trying to send this to users but every time I save it opens the ListBox Data tab and then I can't save it with the primary tab open - which is confusing for users.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations