ตัวเลือก Excel VBA Explicit
การประกาศตัวแปรมีความสำคัญมากใน VBA ตัวเลือกที่ชัดเจนทำให้ผู้ใช้จำเป็นต้องประกาศตัวแปรทั้งหมดก่อนที่จะใช้ตัวแปรที่ไม่ได้กำหนดใด ๆ จะทำให้เกิดข้อผิดพลาดขณะเรียกใช้โค้ดเราสามารถเขียนตัวเลือกคำหลักอย่างชัดเจนหรือเราสามารถเปิดใช้งานได้สำหรับ รหัสทั้งหมดจากตัวเลือกโดยการเปิดใช้งานเพื่อต้องการการประกาศตัวแปร
ใน VBA ทุกอย่างเกี่ยวกับตัวแปร ในการจัดเก็บข้อมูลเราต้องการตัวแปรที่มีประเภทข้อมูลที่เหมาะสม คุณสามารถถามฉันว่าทำไมคุณถึงต้องการตัวแปรในเมื่อคุณสามารถเพิ่มมูลค่าลงในสเปรดชีตได้โดยตรง ส่วนใหญ่เป็นเพราะผู้ใช้สมุดงานหลายคนหากจัดการโดยบุคคลเดียวคุณสามารถอ้างอิงค่าไปยังแผ่นงานได้โดยตรง โดยการประกาศตัวแปรเราสามารถสร้างรหัสที่ยืดหยุ่นเพื่อจัดเก็บข้อมูลได้
VBA Option Explicit คืออะไร?
ฉันหวังว่าคุณจะเจอคำที่มีเส้นสีน้ำเงิน "Option Explicit" ที่ด้านบนของโมดูลก่อนที่มาโครใด ๆ จะเริ่มต้นในโมดูลนั้น
ในช่วงเริ่มต้นของการเรียนรู้ VBA ฉันก็ไม่เข้าใจเหมือนกันว่ามันคืออะไรและพูดตรงไปตรงมามากฉันไม่ได้คิดถึงเรื่องนี้เลย ไม่เพียง แต่สำหรับฉันหรือคุณ แต่มันก็เหมือนกันสำหรับทุกคนในตอนเริ่มต้น แต่เราจะเห็นความสำคัญของคำนี้ในตอนนี้
“ Option Explicit”เป็นที่ปรึกษาของเราในการประกาศตัวแปร การเพิ่มคำนี้จะทำให้การประกาศตัวแปรเป็นกระบวนการบังคับ
คุณสามารถดาวน์โหลด VBA Option Explicit Excel Template ได้ที่นี่ - VBA Option Explicit Excel Templateดูตัวอย่างโค้ดด้านล่างเพื่อความเข้าใจ
รหัส:
ตัวอย่างย่อย 1 () i = 25 MsgBox i End Sub
ถ้าฉันเรียกใช้รหัสนี้เราจะได้รับค่าของตัวแปร“ I” ในกล่องข้อความใน VBA
ตอนนี้ฉันจะเพิ่มคำว่า“ Option Explicit” ที่จุดเริ่มต้นของโค้ด VBA
ตอนนี้ฉันจะรันโค้ดและดูว่าเกิดอะไรขึ้น หากคุณกำลังฝึกกับฉันให้กดปุ่ม F5 เพื่อเรียกใช้รหัส
เราได้รวบรวมข้อผิดพลาดและกล่าวว่า“ตัวแปรไม่ได้กำหนดไว้” เราไม่ได้ประกาศตัวแปร“ i”แต่ทันทีที่เรากำหนดค่าให้เป็น 25
เนื่องจากเราได้เพิ่มคำว่า“ Option Explicit” จึงบังคับให้เราต้องประกาศตัวแปรอย่างบังคับ
ในโค้ดด้านบนตัวอักษร“ i”ไม่ได้รับการประกาศดังนั้นเราจึงได้เพิ่มตัวควบคุมตัวแปรคำว่า“ Option Explicit” เพื่อป้องกันไม่ให้เราใช้ตัวแปรที่ไม่ได้ประกาศ
ทันทีที่คุณเพิ่มคำว่า“ Option Explicit” ที่ด้านบนของโมดูลจะสามารถใช้ได้กับมาโครทั้งหมดในโมดูลนั้น ๆ เพื่อประกาศตัวแปรอย่างบังคับ
จะบังคับให้ประกาศตัวแปรได้อย่างไร?
หากคุณเพิ่มที่ปรึกษาตัวแปร“ Option Explicit” ด้วยตนเองในโมดูลของคุณเมื่อคุณแทรกโมดูลใหม่คุณจะไม่ได้รับที่ปรึกษาตัวแปรนี้โดยค่าเริ่มต้น
หากคุณคิดว่าทุกครั้งที่คุณต้องเพิ่มคำว่า“ Option Explicit” สำหรับโมดูลใหม่ทั้งหมดด้วยตนเองคุณคิดผิด
เนื่องจากเราสามารถกำหนดให้คำนี้บังคับในทุกโมดูลได้โดยทำการตั้งค่าง่ายๆ ทำตามขั้นตอนด้านล่างเพื่อปรับการตั้งค่า
ขั้นตอนที่ 1:ไปที่ Visual basic editor
ขั้นตอนที่ 2:ไปที่ TOOLS แล้วคลิกที่ตัวเลือก
ขั้นตอนที่ 3:เมื่อคุณคลิกที่ตัวเลือกคุณจะเห็นหน้าต่างด้านล่าง
ขั้นตอนที่ 4:ภายใต้หน้าต่างนี้ Go to Editor และติ๊กเลือกที่“ต้องประกาศตัวแปร”
ขั้นตอนที่ 5:คลิกที่ตกลงเพื่อปิดหน้าต่าง
นับจากนี้เป็นต้นไปเมื่อคุณเพิ่มโมดูลใหม่ระบบจะแทรกคำว่า“ Option Explicit” โดยอัตโนมัติตามค่าเริ่มต้น
Option Explicit คือ Saver ของคุณ
Option Explicit ช่วยเราได้หลายวิธีตั้งแต่การประกาศตัวแปรบังคับมันจะช่วยเราไปจนถึงการดำเนินการ ดูรหัสด้านล่าง
รหัส:
Sub Example2 () Dim CurrentValue เป็น Integer CurentValue = 500 MsgBox CurrentValue End Sub
ในโค้ดด้านบนฉันได้ประกาศตัวแปร“ CurrentValue” เป็นจำนวนเต็ม ในบรรทัดถัดไปฉันได้กำหนดค่า 500 ให้กับมัน ถ้าฉันเรียกใช้รหัสนี้ฉันควรจะได้รับ 500 ตามผลลัพธ์ในกล่องข้อความ แต่ดูว่าเกิดอะไรขึ้น
ข้อความระบุว่า“ ไม่ได้กำหนดตัวแปร” และเน้นบรรทัดที่สอง
หากเราดูบรรทัดที่สองอย่างใกล้ชิดแสดงว่ามีการสะกดผิดเล็กน้อย ชื่อตัวแปรของฉันคือ“ CurrentValue” แต่ในบรรทัดที่สองฉันพลาดตัวสะกดหนึ่งตัวคือ“ r” มันเขียนว่า“ CurrentValue” แทนที่จะเป็น“ CurrentValue” เนื่องจากฉันได้ทำการประกาศตัวแปรโดยการเพิ่มคำว่า“ Option Explicit” ใน excel VBA จึงได้เน้นให้ฉันเห็นข้อผิดพลาดในการพิมพ์ผิดที่ฉันได้ทำ
ดังนั้นเมื่อเราแก้ไขตัวสะกดและรันโค้ดเราจะได้ผลลัพธ์ดังนี้
ทักทายพี่เลี้ยงตัวแปรแต่งตั้งใหม่ !!!