ไปยังเนื้อหาหลัก

วิธีบันทึกหรือรักษาการเลือกกล่องรายการ ActiveX ใน Excel

สมมติว่าคุณได้สร้างกล่องรายการและทำการเลือกในกล่องรายการอย่างไรก็ตามการเลือกทั้งหมดของกล่องรายการเหล่านี้จะหายไปเมื่อปิดและเปิดสมุดงานอีกครั้ง คุณต้องการเก็บการเลือกไว้ในกล่องรายการเมื่อใดก็ตามที่ปิดและเปิดสมุดงานใหม่หรือไม่? วิธีการในบทความนี้สามารถช่วยคุณได้

บันทึกหรือรักษาการเลือกของกล่องรายการ ActiveX ด้วยรหัส VBA ใน Excel


แทรกหรือลบกล่องกาเครื่องหมายจำนวนมากใน Excel จำนวนมากได้อย่างง่ายดาย:

พื้นที่ กล่องกาเครื่องหมายแทรกแบทช์ สาธารณูปโภคของ Kutools สำหรับ Excel สามารถช่วยคุณแทรกช่องทำเครื่องหมายหลายช่องในช่วงที่เลือกพร้อมกันได้อย่างรวดเร็ว และคุณสามารถลบกล่องกาเครื่องหมายทั้งหมดในช่วงที่เลือกได้ด้วย Batch Delete กล่องกาเครื่องหมาย. ดูภาพหน้าจอ:

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 200 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 60 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!


บันทึกหรือรักษาการเลือกของกล่องรายการ 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 Macro กรุณาคลิก เนื้อไม่มีมัน > บันทึกเป็น > หมวดหมู่สินค้า.

5 ใน บันทึกเป็น กล่องโต้ตอบ เลือกโฟลเดอร์ที่จะบันทึกสมุดงาน เปลี่ยนชื่อตามที่คุณต้องการ เลือก สมุดงานที่เปิดใช้งานแมโคร Excel ใน บันทึกเป็นชนิด รายการแบบเลื่อนลง และสุดท้ายให้คลิก ลด ปุ่ม. ดูภาพหน้าจอ:

โปรดบันทึกสมุดงานทุกครั้งเมื่อคุณอัปเดตกล่องรายการ จากนั้นการเลือกก่อนหน้านี้ทั้งหมดจะถูกเก็บไว้ในกล่องรายการหลังจากเปิดสมุดงานอีกครั้ง

หมายเหตุ: เมื่อบันทึกสมุดงานจะมีแผ่นงานชื่อ “ข้อมูลกล่องรายการ” จะถูกสร้างขึ้นโดยอัตโนมัติในตอนท้ายของแผ่นงานทั้งหมดในสมุดงานของคุณ โปรดละเว้นแผ่นงานนี้เพราะมันจะหายไปโดยอัตโนมัติเมื่อปิดสมุดงาน

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
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