Make BIG checkbox in Excel

ทำ Checkbox ขนาดใหญ่ใน Excel

ในบางครั้งเมื่อเราต้องการทำฟอร์มเอกสารให้คนอื่นกรอก ก็มักจะมีตัว Checkbox เพื่อให้คลิ๊กเลือกในรายการที่เรากำหนดไว้ โดยจะเพิ่มจากตัว ActiveX control ที่มีอยู่แล้วใน Excel แต่ปัญหาคือเจ้าตัว checkbox นี้มันปรับขนาดไม่ได้ พอเราปรับขนาดหน้าจอเล็กลง เจ้าตัว checkbox นี่ก็จะเล็กลงตาม ทำให้ความไฮโซของแบบฟอร์มลดลงไป

Zoom 100%
Zoom 70% ขนาดเล็กลง
วันนี้ก็จะแนะทำวิธีประยุกต์ทำตัว Checkbox ที่สามารถปรับขนาดได้ขึ้นมา มาดูกันเลย
ก่อนอื่นก็ให้ทำการแทรกสัญลักษณ์ ที่เป็นลักษณะกล่องมีเครื่องหมายถูก กับเครื่องหมายกล่องว่าง ๆ ลงไปใน Excel โดยอาจจะใช้พื้นที่ว่างนอกแบบฟอร์มที่จะทำก็ได้
ในบทความนี้ใช้
Y1 และ Y2 นะครับ

จากนั้นให้ทำการ Copy ไปวางใน Cell ข้าง ๆ โดยให้วางเท่ากับจำนวน checkbox ที่ต้องการจะสร้างนะครับ

ให้ทำการ Copy cell ที่เราได้ทำไว้ แล้วเลือก Paste Special > Linked picture


เราก็จะได้ตัว Checkbox มาแล้ว ให้ทำการปรับขนาดได้ตามชอบใจ จากนั้นให้ Copy ให้ครบทุกอัน

สังเกตุขนาดต่างกันชัดเจน
จากนั้นให้คลิ๊กที่ “View code” แล้วให้ทำการแทรก Module เข้าไป
เลือก View Code
แทรก Module เข้าไป
ให้วาง Code นี้ไปใน Module
Sub CheckBoxStatus(ByRef indexVal As Integer)
     If Range("X" & indexVal).Value = Range("Y1").Value Then
          Range("X" & indexVal).Value = Range("Y2").Value
     Else
          Range("X" & indexVal).Value = Range("Y1").Value
     End If
End Sub

Code นี้คือโปรแกรมย่อยในการเปลี่ยนสถานะของตัว Checkbox นะครับ
จากนั้นให้มาทำ โปรแกรมย่อยของ Checkbox แต่ละตัวกัน
Sub Ch1st()
Call CheckBoxStatus(1)
End Sub
Sub Ch2st()
Call CheckBoxStatus(2)
End Sub
Sub Ch3st()
Call CheckBoxStatus(3)
End Sub
Sub Ch4st()
Call CheckBoxStatus(4)
End Sub
Sub Ch5st()
Call CheckBoxStatus(5)
End Sub

โดยตัวเลขที่อยู่ในวงเล็บคือ เลขของแถว ที่เราทำ checkbox ไว้ก่อนหน้านี้นะครับ

จากนั้นให้กลับมาที่ checkbox ที่เป็นรูปภาพกัน ให้คลิ๊กขวาแล้วเลือก “Assign macro” แล้วเลือก Macro ที่เราทำไว้ให้ตรงกัน นะครับ โดยสังเกตุที่ Formula bar


จากรูปจะ Link ไปยัง Cell X1 นะครับ เราก็เลือก Macro ที่ชื่อ Ch1st




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

ก็ลองเอาไปประยุกต์ใช้กันดูครับ


ตัวอย่าง Video ครับ

ความคิดเห็น

  1. งงตรงขั้นตอนมาทำโปรแกรมย่อยครับ

    ตอบลบ
    คำตอบ
    1. ถ้ามีเวลา จะทำเป็นแบบคลิปเพิ่มให้นะครับ

      ลบ
    2. ตอนนี้ทำออกมาได้แล้วค่ะ แต่ว่าเวลาที่เราติ๊กเลือกมันไม่เป็นเครื่องหมายถูกค่ะ มันแปลงเป็น font ที่ใช้แทน ที่มีลักษณะเป็น þ ขอคำแนะนำหน่อยค่ะ

      ลบ
    3. เปลี่ยน Font เป็น "Wingdings" ครับ
      จากตัวอย่างในบทความให้เปลี่ยนในคอลัมน์ "X" ครับ

      ลบ
  2. มันต้องทำทุกชีสเลยอะครับ พอก๊อปชีสไป มันก็ใช้ไม่ได้อะครับ

    ตอบลบ
    คำตอบ
    1. วิธีการที่ใช้ตอนนี้เป็นการประยุกต์เอา VBA มาช่วยครับ
      กรณีคัดลอกไป Sheet อื่น จะทำให้ชื่อ และตัวอ้างอิงเปลี่ยน
      ทำให้ต้องแก้ไขการ Assign macro ในแต่ละตัวอีกที

      ยังไงหากผมเจอวิธีแก้ไขปัญหาตรงนี้ จะนำมาเสนอให้อีกทีนะครับ

      ลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

เทคนิคการสร้าง Folder ลับ (การซ่อน Folder) 2

เอา Password Excel VBA ออก