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:
Sản phẩm 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!
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. Nhấn nút Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.
4. Bây giờ bạn cần lưu sổ làm việc dưới dạng sổ làm việc hỗ trợ Excel Macro. Vui lòng bấm vào Tập tin > Save As > Xem.
5. bên trong Save As hộp thoại, chọn một thư mục để lưu sổ làm việc, đổi tên nó khi bạn cần, chọn Sổ làm việc hỗ trợ macro Excel trong Save as type danh sách thả xuống và cuối cùng nhấp vào Lưu cái nút. Xem ảnh chụp màn hình:
Vui lòng lưu sổ làm việc mỗi khi bạn cập nhật hộp danh sách. Sau đó, tất cả các lựa chọn trước đó sẽ được giữ trong hộp danh sách sau khi mở lại sổ làm việc.
Chú thích: Khi lưu sổ làm việc, một trang tính có tên “Dữ liệu ListBox”Sẽ được tạo tự động ở cuối tất cả các trang tính của sổ làm việc của bạn, vui lòng bỏ qua trang tính này vì nó sẽ tự động biến mất khi đóng sổ làm việc.
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!