14 มี.ค. 2022 เวลา 03:52 • การศึกษา
ก่อนหน้านี้ผมเคยบอกว่าจะให้พวกเรา ได้ใส่ข้อมูลเข้าไปในตารางโดยการไช้ระบบ Loop หรือการวนลูปเพื่อใส่ข้อมูล แต่ผมนึกขึ้นได้ว่าลืมอะไรไปบางอย่าง
เกี่ยวกันการเขียน VBA code ซึ่งถ้าไม่บอกเอาไว้ก่อน อาจทำให้การเขียน code เกิดการผิดพลาดได้ เมื่อเราสร้าง Module ขึ้นมาในFile VBA
Option explicit
สิ่งที่เราต้องทำคือการกำหนด option explicit
หลายคน อาจจะสงสัยว่าทำไมต้องเขียนเอาไว้ด้านบนสุดด้วย ตัวนี้เป็น option เสริม เนื่องจาก ตัวนี้จะช่วยให้เราไม่ลืมในการกำหนด ค่าของตัวแปร ก่อนหน้านี้เราไม่ได้กำหนด
ค่าตัวแปรให้กับ ค่าต่างๆ เนื่องจาก โดยปกติแล้วตัวโปรแกรมจะมีความสามารถในการกำหนดค่าโดยอัตโนมัติอยู่พอสมควร เช่น หากเรากำหนด ค่า Value ในCell = 15 ตัวโปรแกรม
ก็จะกำหนดค่าให้เป็นตัวเลขโดยอัตโนมัติ ถ้าเราใส่ ค่า value เป็น “Hello world ” มันก็จะกำหนดเป็นค่า string หรืออักษรทันที
แต่กรณีที่อาจเกิดข้อผิดพลาดคือ ถ้าเรากำหนด ค่า Value เป็น วันที่ โดยเราใส่ข้อมูล 12.01.2022 โปรแกรมอาจจะเข้าใจผิดว่าเป็นตัวเลขได้ เพราะเราไม่ได้กำหนดเอาไว้
หรืออาจเกิด runtime -error หรือ ประมวณผลไม่ผ่าน
หากเราใส่ Option explicit เหมือนโปรแกรมจะช่วยเราตรวจสอบความผิดพลาดนี้ หากเราไม่กำหนดค่าของตัวแปร ว่าจะให้เป็น type ประเภทใด ก็จะขึ้นเตือน ทำให้เราสามารถ
รันโปรแกรม ที่ถูกต้องง่ายขึ้น
Code
ตัวอย่างที่ให้ไปคือ ผมลองเขียน Code ที่กำหนด Option explicit เอาไว้ และกำหนด ค่าตัวแปร โดยกำหนด day เป็น Date และกำหนด i เป็น Long เมื่อกด F5 โปรแกรมจะ Run ผ่าน แต่ได้ผลดังต่อไปนี้
Result1
จะเห็นได้ว่า ช่อง A1 นั้นแสดงผลได้ถูกต้อง เนื่องจากใส่ค่าและกำหนดค่าได้สอดคล้องกัน แต่ช่อง A2 นั้นใส่ค่าและกำหนดค่าไม่ถูกต้องแต่สามารถrun ได้แต่ผลที่แสดงไม่ออกมาตามที่ต้องการ
ดังนั้นการกำหนดค่าของตัวแปรจึงมีความสำคัญมาก แม้จะมีตัวช่วย ก็ไม่สามารถที่จะแสดงผลออกมาอย่างถูกต้องได้
ต่อไปลองมาดูว่าหากเราไม่กำหนดค่าอะไรเลย แล้วให้โปรแกรมพิจารณาเอง จะเกิดผลแบบไหน
Result
เห็นไหมว่าจะเกิด Compile error ขึ้นมาทันดี เพราะว่าเราไม่ได้กำหนด เอาไว้ ทำให้ ตัว Option explicit ทำงาน ซี่ง ตัวนี้ก็ถือว่าเป็นตัวช่วยตัวหนึ่งที่ผมใช้เป็นประจำ และช่วย
ให้แก้ไขbug ที่เรามองข้ามได้

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

โฆษณา