23 เม.ย. 2022 เวลา 10:33 • การศึกษา
การใส่ข้อมูลลงไปใน excel แบบใช้ inputbox
สำหรับการใส่ข้อมูลลงไปใน excel ส่วนใหญ่แล้วพวกเรามักจะทำการใส่ข้อมูลลงไปโดยตรง แต่ในบางครั้ง ก็จำเป็นต้องกรอกข้อมูลจำนวนมาก inputbox เป็นmethod
หนี่งที่สามารถช่วยเราได้เป็นอย่างดี โดยองค์ประกอบของ inputbox จะประกอบไปด้วย inputbox( prompt, title[optional] ,default[optional],position[optional],type[optional], helpfile[optional])
อธิบายได้ง่ายๆ ว่า ตัวแรก Prompt คือข้อความที่เราต้องการจะสื่อว่า ช่องที่ป๊อบอัพ ขึ้นมานั้นเราต้องการให้ผู้ใช้โปรแกรมใส่อะไรลงไป
ส่วนอื่นๆ ในวงเล็บจะเป็นเพียง ตัวเสริมเท่านั้น มีหรือไม่มีก็ได้ เช่น title คือชื่อของinputbox ซึ่งจะมีหรือไม่ก็ได้ (title bar)
Defalt จะมีลักษณะเหมือน holder หรือ ข้อความที่ขึ้นอยู่ในช่อง มันจะหายไปเมื่อเรากรอกข้อมูลลงไป Position คือตำแหน่งของ inputbox เมื่อเราเรียกใช้งาน อันอื่นไม่ค่อยสำคัญขอข้ามไป
อ้อเกือบลืม เราสามารถกำหนดประเภทของข้อมูลได้โดยใช้ Type: เป็นตัวกำหนด โดยจะต้องกำหนดเป็นตัวเลขดังต่อไปนี้ (ถ้าไม่ใช้ จะเป็นข้อมูล string โดยอัตโนมัติ )
Type: 0 หมายถึง Formula
Type: 1 หมายถึง Number
Type: 2 หมายถึง String
Type: 4 หมายถึง Boolean
Type: 8 หมายถึง Range
Type: 64 หมายถึง Array of Values
การเรียกใช้ inputbox เราจเรียกใช้ผ่าน Application เช่น name = Application.InputBox(“please enter your name”) เป็นต้น
เอาละ เรามาดูตัวอย่าง Code การใช้งานของ VBA กันดีกว่า
สำหรับตัวอย่าง Code นี้เป็นการ นำข้อมูลที่เราคีย์ใส่ลงใน inputbox ออกมา show โดยใช้คำสั่ง MsgBox ในการเรียกข้อมูลขึ้นมาดู
ตัวนี้ไม่ได้ทำการบันทึกข้อมูลลงไปใน Excel นะครับเพียงแค่แสดงให้เห็นว่า เราสามารถกำหนดค่าให้ พารามิเตอร์ได้อย่างไรเท่านั้น
Code ตัวอย่าง
เมื่อ รันโปรแกรม จะขึ้นหน้าจอแบบนี้เพื่อให้เรากรอกข้อมูลลงไป
เมื่อเรากรอกข้อมูล แล้วกด OK โปรแกรมก็จะทำการบันทึกค่าลงไปที่ พารามิเตอร์ที่เราสร้างขึ้นทันที หลังจากนั้นจะแสดงค่าผ่านทาง
MsgBox เป็นอันจบกระบวนการคำสั่ง
MsgBoxแจ้งเตือน
หากเราต้องการให้ บันทึกลงไปในตามรางexcel แทนให้ทำการแก้ไข Code ดังต่อไปนี้
เมื่อผมกรอกวันทำงาน คือวันจันทร์ ถึงวันศุกร์ ในภาษาอังกฤษลงไป ใน inputbox แล้วกดตกลงหรือว่า enter จนครบจะได้ข้อ
ความตอบกลับจาก MsgBox ว่า “your data is done “ แล้วกด OK จะได้ผลลัพธ์ดังต่อไปนี้
ผลหลังจากกรอกในinputboxเสร็จแล้ว
ซึ่งเราสามารถเอาไปปรับใช้ได้ตามสะดวกนะครับ คราวหน้าเราจะมาลองใช้ inputbox สำหรับการใส่ข้อมูลเข้าไปเป็น Array
กันดูบ้าง

ดูเพิ่มเติมในซีรีส์

โฆษณา