Page 1 of 1

การสร้าง Checkbox ใน excel

Posted: Sat Oct 31, 2015 12:49 am
by sutham
ขอรบกวนคำแนะนำในการสร้าง Checkbox ใน excel ครับ
คือ ต้องการสร้าง checkbox ใน excel จำนวนมากผมใช้วิธีการ copy แต่จะต้องมานั่งกำหนดเซลล์เชื่อมโยงในแต่ละอัน อยากทราบว่าจะมีวิธีที่เมื่อ copy แล้วจะให้เซลล์เชื่อมโยงเปลี่ยนไปด้วยจะได้หรือไม่ครับ (เพราะต้องสร้างจำนวนมากมากกว่า 100)
รบกวนขอคำแนะนำด้วยครับ

Re: การสร้าง Checkbox ใน excel

Posted: Sat Oct 31, 2015 6:02 am
by snasui
:D การทำเช่นนั้นต้องอาศัย VBA ครับ

ในเบื้องต้นให้เขียน Macro สำหรับการการ Copy เซลล์แล้ว Loop ไปยัง CheckBox แต่ละตัวให้ได้ก่อน ในลำดับถัดมาค่อยกำหนด CheckBox แต่ละตัวให้สัมพันธ์กับเซลล์ที่ต้องการแสดงผล ซึ่งต้องเขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ

Re: การสร้าง Checkbox ใน excel

Posted: Sat Oct 31, 2015 6:54 pm
by sutham
ตอนนี้ผมแนวทางและประยุกต์ใช้ได้แล้วครับ :thup:

แต่ปัญหาใหม่ก็เกิดขึ้นอีกแล้วครับ
คือผมได้เขียน code ในการใส่ข้อมูลในคอลัมน์ D (ตามไฟล์แนบ) โดยเลือกจากปุ่มที่ผมสร้างขึ้นทางขวามือปุ่มที่ 1 - 6
ประเด็นที่ผมของการขอคำแนะนำและช่วยเหลือ คือ เมือผมกดปุ่มที่ 6 ซึ่งไม่มีข้อมูลอยู่ในคอลัมน์ B จึงทำให้โปรแกรมค้างไปเลย
จึงอยากขอวามช่วยเหลือในการเพิ่มเติมและแก้ไข code ใน vba โดย code ที่ผมใช้กับปุ่มที่ 6 คือ

Code: Select all

Sub room_66()
Range("b4").Select
Do While Selection.Value <> "6"    'แก้เลข
Selection.Offset(1, 0).Select
Loop
Selection.Offset(0, 2).FormulaR1C1 = "=IF(RC[-2]=6,TRUE,"""")"  'แก้เลข
Selection.Offset(1, 0).Select
If Selection.Value = "6" Then  'แก้เลข
Do While Selection.Value = "6"  'แก้เลข
Selection.Offset(0, 2).FormulaR1C1 = "=IF(RC[-2]=6,TRUE,"""")"  'แก้เลข
Selection.Offset(1, 0).Select
Loop
Else
Exit Sub
End If
Range("b2").Select
End Sub
ขอบคุณครับ :)

Re: การสร้าง Checkbox ใน excel

Posted: Sat Oct 31, 2015 10:57 pm
by snasui
:D ตัวอย่าง Code การออกจาก Loop ครับ

Code: Select all

Do While Selection.Value <> "6"    'á¡éàÅ¢
    Selection.Offset(1, 0).Select
    If Selection.Value = "" Then Exit Do
Loop