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

จะยกเลิกการเลือกช่องทำเครื่องหมายอื่นเมื่อมีการทำเครื่องหมายในช่องทำเครื่องหมายใน Excel ได้อย่างไร

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

ยกเลิกการเลือกช่องทำเครื่องหมายอื่นเมื่อมีการเลือกช่องทำเครื่องหมายใหม่ด้วยรหัส VBA


ยกเลิกการเลือกช่องทำเครื่องหมายอื่นเมื่อมีการเลือกช่องทำเครื่องหมายใหม่ด้วยรหัส VBA

ตามที่แสดงในตัวอย่างข้างต้น ช่องทำเครื่องหมายสิบช่องชื่อ ช่องทำเครื่องหมาย1, ช่องทำเครื่องหมาย2, ช่องทำเครื่องหมาย3, ... , ช่องทำเครื่องหมาย10 แบ่งออกเป็น 3 กลุ่ม และอยู่ในหมวดต่างๆ ในตาราง

ในตัวอย่างนี้ ช่องทำเครื่องหมาย 1, 2, 3 อยู่ในกลุ่มเดียว ช่องทำเครื่องหมาย 4, 5, 6, 7 อยู่ในกลุ่มเดียว และช่องทำเครื่องหมาย 8, 9,10 อยู่ในกลุ่มเดียวกัน ในแต่ละกลุ่ม สามารถเลือกช่องทำเครื่องหมายได้ครั้งละหนึ่งช่องเท่านั้น เมื่อทำเครื่องหมายที่ช่องทำเครื่องหมาย ช่องอื่นจะไม่ถูกเลือกโดยอัตโนมัติ

ตอนนี้เรามาดูวิธีการใช้โค้ด VBA ต่อไปนี้เพื่อแก้ปัญหานี้

1. คลิกขวาที่แท็บแผ่นงานแล้วคลิก ดูรหัส จากเมนูบริบท

2. ในช่องเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน window วางโค้ด VBA ต่อไปนี้ลงใน แผ่น (รหัส) หน้าต่าง

รหัส VBA: ยกเลิกการเลือกช่องทำเครื่องหมายอื่นเมื่อมีการเลือกช่องทำเครื่องหมายใหม่

Dim xBol As Boolean
'Updated by Extendoffice 20220816
Private Sub CheckBox1_Change()
SetCheckBoxes "CheckBox1"
End Sub

Private Sub CheckBox2_Change()
SetCheckBoxes "CheckBox2"
End Sub

Private Sub CheckBox3_Change()
SetCheckBoxes "CheckBox3"
End Sub

Private Sub CheckBox4_Change()
SetCheckBoxes "CheckBox4"
End Sub

Private Sub CheckBox5_Change()
SetCheckBoxes "CheckBox5"
End Sub

Private Sub CheckBox6_Click()
SetCheckBoxes "CheckBox6"
End Sub

Private Sub CheckBox7_Click()
SetCheckBoxes "CheckBox7"
End Sub
Private Sub CheckBox8_Click()
SetCheckBoxes "CheckBox8"
End Sub
Private Sub CheckBox9_Click()
SetCheckBoxes "CheckBox9"
End Sub
Private Sub CheckBox10_Click()
SetCheckBoxes "CheckBox10"
End Sub

Private Function SetCheckBoxes(mCheckBoxName As String)
Dim x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function

Private Sub Worksheet_Activate()
xBol = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xBol = True
End Sub

หมายเหตุ / รายละเอียดเพิ่มเติม:

1) ในรหัส ช่องทำเครื่องหมาย 1 ช่องทำเครื่องหมาย 2 ... ช่องทำเครื่องหมาย10 เป็นชื่อของช่องทำเครื่องหมาย
2) ในบรรทัดต่อไปนี้ ช่องทำเครื่องหมายที่อยู่ในเครื่องหมายคำพูดคู่อยู่ในกลุ่มเดียวกัน และช่องทำเครื่องหมายแต่ละช่องจะคั่นด้วยเครื่องหมายจุลภาค หากต้องการเพิ่มกลุ่มช่องทำเครื่องหมาย โปรดใส่ช่องทำเครื่องหมายด้วยเครื่องหมายคำพูดคู่ใหม่
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) ช่องทำเครื่องหมายคือ การควบคุม ActiveX ช่องทำเครื่องหมาย

3 กด อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

จากนั้นเมื่อคุณเลือกช่องทำเครื่องหมายใหม่ในกลุ่ม ช่องที่ทำเครื่องหมายเดิมจะไม่ถูกเลือกโดยอัตโนมัติตามที่แสดงใน gif ด้านล่าง


การสาธิต: ยกเลิกการเลือกช่องทำเครื่องหมายอื่นเมื่อทำเครื่องหมายในช่องทำเครื่องหมายใน Excel

  Kutools สำหรับ Excel มีคุณสมบัติอันทรงพลังมากกว่า 300 รายการสำหรับ Microsoft Excel ทดลองใช้ฟรีโดยไม่มีข้อจำกัดใน 30 วัน ดาวน์โหลดตอนนี้!

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

🤖 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 (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations