Làm cách nào để lưu hoặc giữ lại các lựa chọn của hộp danh sách ActiveX trong Excel?
Giả sử bạn đã tạo một số hộp danh sách và thực hiện các lựa chọn trong hộp danh sách, tuy nhiên, tất cả các lựa chọn của các hộp danh sách này sẽ biến mất khi đóng và mở lại sổ làm việc. Bạn có muốn giữ lại các lựa chọn đã thực hiện trong các hộp danh sách bất cứ khi nào đóng và mở lại sổ làm việc không? Phương pháp trong bài viết này có thể giúp bạn.
Lưu hoặc giữ lại các lựa chọn của hộp danh sách ActiveX với mã VBA trong Excel
Dễ dàng chèn hoặc xóa hàng loạt hộp kiểm trong Excel:
Mô hình Hộp kiểm Chèn hàng loạt tiện ích của Kutools cho Excel có thể giúp bạn nhanh chóng chèn nhiều hộp kiểm trong phạm vi đã chọn cùng một lúc. Và bạn có thể xóa tất cả các hộp kiểm trong phạm vi đã chọn với Hộp kiểm Xóa hàng loạt. Xem ảnh chụp màn hình:
Kutools cho Excel: với hơn 200 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 60 ngày. Tải xuống và dùng thử miễn phí ngay!
- Tái sử dụng mọi thứ: Thêm các công thức, biểu đồ và bất kỳ thứ gì khác được sử dụng nhiều nhất hoặc phức tạp vào mục yêu thích của bạn và nhanh chóng sử dụng lại chúng trong tương lai.
- Hơn 20 tính năng văn bản: Trích xuất số từ chuỗi văn bản; Trích xuất hoặc loại bỏ một phần nội dung; Chuyển đổi số và tiền tệ sang từ tiếng Anh.
- Công cụ hợp nhất: Nhiều Workbook và Sheets thành một; Hợp nhất nhiều ô / hàng / cột mà không làm mất dữ liệu; Hợp nhất các hàng và tổng trùng lặp.
- Công cụ tách: Chia Dữ liệu thành Nhiều Trang tính Dựa trên Giá trị; Một sổ làm việc cho nhiều tệp Excel, PDF hoặc CSV; Một cột đến nhiều cột.
- Dán bỏ qua Hàng ẩn / được lọc; Đếm và tổng theo Màu nền; Gửi hàng loạt email được cá nhân hóa cho nhiều người nhận.
- Bộ lọc siêu: Tạo lược đồ lọc nâng cao và áp dụng cho bất kỳ trang tính nào; Sắp xếp theo tuần, ngày, tần suất và hơn thế nữa; Lọc bằng cách in đậm, công thức, chú thích ...
- Hơn 300 tính năng mạnh mẽ; Hoạt động với Office 2007-2021 và 365; Hỗ trợ tất cả các ngôn ngữ; Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn.
Lưu hoặc giữ lại các lựa chọn của hộp danh sách ActiveX với mã VBA trong Excel
Mã VBA dưới đây có thể giúp bạn lưu hoặc giữ lại các lựa chọn nếu hộp danh sách ActiveX trong Excel. Hãy làm như sau.
1. Trong sổ làm việc có các hộp danh sách ActiveX mà bạn muốn giữ các lựa chọn, hãy bấm Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, bấm đúp Sổ làm việc này trong ngăn bên trái để mở Sổ làm việc này Mã cửa sổ. Và sau đó sao chép mã VBA sau vào cửa sổ mã.
Mã VBA: Lưu các lựa chọn của hộp danh sách ActiveX trong 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. Press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
4. Now you need to save the workbook as an Excel Macro-enabled workbook. Please click File > Save As > Browse.

5. In the Save As dialog box, select a folder to save the workbook, rename it as you need, select Excel Macro-Enabled Workbook in the Save as type dropdown list, and finally click the Save button. See screenshot:

Please save the workbook every time when you update the list boxes. Then all previous selections will be kept in the list boxes after reopening the workbook.
Note: When saving the workbook, a worksheet named “ListBox Data” will be created automatically at the end of all worksheets of your workbook, please ignore this worksheet because it will disappear automatically when the workbook is closed.
The Best Office Productivity Tools
Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%
- Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
- Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
- Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
- Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
- Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
- Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
- Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
- Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
- More than 300 powerful features. Supports Office / Excel 2007-2021 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!