Πώς να αποθηκεύσετε ή να διατηρήσετε τις επιλογές των πλαισίων λίστας ActiveX στο Excel;
Ας υποθέσουμε ότι έχετε δημιουργήσει ορισμένα πλαίσια λίστας και έχετε κάνει επιλογές στα πλαίσια λίστας, ωστόσο, όλες οι επιλογές αυτών των κουτιών λίστας εξαφανίζονται όταν κλείνουν και ανοίγουν ξανά το βιβλίο εργασίας. Θέλετε να διατηρήσετε τις επιλογές που γίνονται σε πλαίσια λίστας κάθε φορά που κλείνετε και ανοίγετε ξανά το βιβλίο εργασίας; Η μέθοδος σε αυτό το άρθρο μπορεί να σας βοηθήσει.
Αποθηκεύστε ή διατηρήστε τις επιλογές των πλαισίων λίστας ActiveX με κώδικα VBA στο Excel
Αποθηκεύστε ή διατηρήστε τις επιλογές των πλαισίων λίστας ActiveX με κώδικα VBA στο Excel
Ο παρακάτω κώδικας VBA μπορεί να σας βοηθήσει να αποθηκεύσετε ή να διατηρήσετε επιλογές εάν τα πλαίσια λίστας ActiveX στο Excel. Κάντε τα εξής:
1. Στο βιβλίο εργασίας περιέχει τα πλαίσια λίστας ActiveX που θέλετε να διατηρήσετε τις επιλογές, πατήστε το άλλος + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, κάντε διπλό κλικ Αυτό το βιβλίο εργασίας στο αριστερό παράθυρο για να ανοίξετε το Αυτό το βιβλίο εργασίας Κώδικας παράθυρο. Και, στη συνέχεια, αντιγράψτε τον ακόλουθο κώδικα VBA στο παράθυρο κώδικα.
Κωδικός VBA: Αποθήκευση επιλογών των πλαισίων λίστας ActiveX στο 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. Πάτα το άλλος + Q πλήκτρα για να κλείσετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
4. Τώρα πρέπει να αποθηκεύσετε το βιβλίο εργασίας ως βιβλίο εργασίας με δυνατότητα μακροεντολής Excel. Παρακαλώ πατήστε Αρχεία > Αποθήκευση ως > Αναζήτηση.
5. Στο Αποθήκευση ως παράθυρο διαλόγου, επιλέξτε ένα φάκελο για να αποθηκεύσετε το βιβλίο εργασίας, μετονομάστε το όπως χρειάζεστε, επιλέξτε Βιβλίο εργασίας Excel με δυνατότητα μακροεντολής στο Αποθήκευση ως τύπου αναπτυσσόμενη λίστα και, τέλος, κάντε κλικ στο Αποθήκευση κουμπί. Δείτε το στιγμιότυπο οθόνης:
Αποθηκεύστε το βιβλίο εργασίας κάθε φορά όταν ενημερώνετε τα πλαίσια λίστας. Στη συνέχεια, όλες οι προηγούμενες επιλογές θα διατηρηθούν στα πλαίσια λίστας μετά το άνοιγμα του βιβλίου εργασίας ξανά.
Σημείωση: Κατά την αποθήκευση του βιβλίου εργασίας, ένα φύλλο εργασίας με το όνομα "Δεδομένα ListBox" θα δημιουργηθεί αυτόματα στο τέλος όλων των φύλλων εργασίας του βιβλίου εργασίας σας, αγνοήστε αυτό το φύλλο εργασίας γιατί θα εξαφανιστεί αυτόματα όταν κλείσει το βιβλίο εργασίας.
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!