วันเสาร์ที่ 7 มิถุนายน พ.ศ. 2557

Excel กับการใช้ Control Listbox ของ Form Controls

Excel กับการใช้ Control Listbox ของ Form Controls เห็นขึ้นหัวข้อไว้อย่างนี้ แล้วมือใหม่ถึงกับงงเต็กกันเลยทีเดียว ทำไมจึงบอกว่า การใช้ C... thumbnail 1 summary
Excel กับการใช้ Control Listbox ของ Form Controls

เห็นขึ้นหัวข้อไว้อย่างนี้ แล้วมือใหม่ถึงกับงงเต็กกันเลยทีเดียว ทำไมจึงบอกว่า การใช้ Control Listbox ของ Form Controls..

สาเหตุที่กล่าวอย่างนี้ก็เพราะว่า Listbox มีอยู่ 2 ตัว ตัวแรกอยู่ในส่วนของ Form Controls

และอีกตัวหนึ่งอยู่ในส่วน ActiveX Controls นั่นเอง

ซึ่งก็มีวิธีใช้ที่คล้ายๆกัน แต่ไม่เหมือนกันเสียทีเดียว ตั้งแต่เรื่องการกำหนดค่าของข้อมูล ที่จะให้ Listbox เก็บ จนถึง เรื่องของการเขียน Source code ให้

สำหรับตัวอย่างนี้ เราจะทดลองใช้ Control Listbox ที่อยู่ในส่วน Form Controls น่ะครับ ตามที่ได้ขึ้นหัวข้อไว้

โดยให้เราลองทำตามตัวอย่างดังต่อไปนี้

1. เปิด Excel ขึ้นมา

2. คลิ้กที่ แท็บ Developer หรือ เรียกอีกอย่างว่า แท็บ นักพัฒนา นั่นเอง

3. ในส่วนของ Controls ให้เราคลิ้กที่ Insert (หรือ Insert Controls นั่นเอง

4. นำ Listbox ที่อยู่ในส่วนของ Form Controls มาวางบน Excel sheet1 1 ตัว

5. คลิ้กขวาที่ Listbox ตัวนี้ แล้วเลือก คำสั่ง format control

6. กล่อง format control จะปรากฏขึ้นมา ให้เราคลิ้กที่แท็บ Control แล้วกำหนดค่าในส่วนของ Input range เป็น $A$1:$A$2 แล้วคลิ้ก Ok ไป

7. ที่เซลล์ A1 พิมพ์คำว่า “dd” แล้วกด Enter

8. ที่เซลล์ A2 พิมพ์คำว่า “ee” แล้วกด Enter

9. คลิ้กขวาที่ Listbox Control อีกครั้ง แล้วเลือกคำสั่ง Assign macro…

10. กล่องโต้ตอบ Assign macro จะปรากฏขึ้น ให้เราคลิ้กที่ New เพื่อสร้าง macro หรือ เขียน Source code vba ควบคุม listbox นั่นเอง

11. ในตัวอย่างนี้เราจะให้โปรแกรมทำงานดังนี้คือ เมื่อเราคลิ้กรายการใน listbox ที่รายการใด จะดึงข้อมูล ในรายการที่ถูกคลิ้กออกมาแสดงด้วย MsgBox

12. หลังจากที่เราคลิ้กที่ ปุ่ม New แล้วให้เราใส่ คำสั่ง ต่อไปนี้ ลงไป

Sub ListBox1_Change()

Select Case Sheet1.Shapes("List Box 1").ControlFormat.ListIndex

Case 1

MsgBox Sheet1.Shapes("List Box 1").ControlFormat.List(1)

Case 2

MsgBox Sheet1.Shapes("List Box 1").ControlFormat.List(2)

End Select

End Sub

13. สั่งรันโปรแกรมดูน่ะครับ แล้วลองคลิ้กรายการใน listbox ดูแล้วจะเข้าใจเองครับ