VBA Option Explicit | จะบังคับให้ประกาศตัวแปรได้อย่างไร?

ตัวเลือก 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 จึงได้เน้นให้ฉันเห็นข้อผิดพลาดในการพิมพ์ผิดที่ฉันได้ทำ

ดังนั้นเมื่อเราแก้ไขตัวสะกดและรันโค้ดเราจะได้ผลลัพธ์ดังนี้

ทักทายพี่เลี้ยงตัวแปรแต่งตั้งใหม่ !!!