Bỏ qua nội dung chính

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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

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

Mô 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!
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