Visual Basic for Applications (VBA) คือการนำภาษาการเขียนโปรแกรม Visual Basic ที่พัฒนาโดย Microsoft ไปใช้ VBA สามารถใช้สำหรับเปิดใช้งาน UDF ทำงานอัตโนมัติ และสำหรับการเข้าถึง WinAPI ผ่าน DLL อย่างไรก็ตาม เมื่อไม่นานมานี้ มีรายงานจำนวนมากที่ผู้ใช้ไม่สามารถดำเนินการคำสั่งบางอย่างและ “ตัวห้อยอยู่นอกขอบเขต ข้อผิดพลาด 9 ” ปรากฏขึ้นขณะพยายามทำเช่นนั้น
อะไรทำให้เกิดข้อผิดพลาด "ตัวห้อยอยู่นอกช่วง" ใน VBA
หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายราย เราจึงตัดสินใจตรวจสอบปัญหาและคิดหาวิธีแก้ไขเพื่อแก้ไขปัญหาทั้งหมด นอกจากนี้เรายังตรวจสอบสาเหตุที่ทำให้เกิดการเรียกและระบุสาเหตุดังนี้
- องค์ประกอบที่ไม่มีอยู่: ในบางกรณี คุณอาจอ้างอิงองค์ประกอบในคำสั่งที่ไม่มีอยู่จริง เป็นไปได้ว่าตัวห้อยมีขนาดใหญ่หรือเล็กกว่าช่วงของตัวห้อยที่เป็นไปได้ หรือมิติข้อมูลอาจไม่ได้ถูกกำหนดให้กับอาร์เรย์ ณ จุดนี้ในแอปพลิเคชัน
- องค์ประกอบที่ไม่ได้กำหนด: เป็นไปได้ว่าคุณไม่ได้ระบุจำนวนองค์ประกอบในโค้ดของคุณ สิ่งสำคัญคือต้องกำหนดจำนวนองค์ประกอบในอาร์เรย์โดยใช้คำสั่ง "Dim" หรือ "ReDim"
- สมาชิกเรียกเก็บเงินไม่ถูกต้อง: ในบางกรณี ผู้ใช้อาจอ้างอิงถึงสมาชิกคอลเลกชันที่ไม่มีอยู่ หากมีการอ้างอิงที่ไม่ถูกต้องต่อสมาชิกคอลเลกชัน ข้อผิดพลาดนี้อาจถูกทริกเกอร์
- สคริปต์ตัวย่อ: เป็นไปได้ว่าคุณได้ใช้รูปแบบชวเลขของตัวห้อยและระบุองค์ประกอบที่ไม่ถูกต้องโดยปริยาย การใช้ชื่อคีย์ที่ถูกต้องเป็นสิ่งสำคัญ
เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับธรรมชาติของปัญหาแล้ว เราจะดำเนินการแก้ไขต่อไป ตรวจสอบให้แน่ใจว่าได้ใช้สิ่งเหล่านี้ในลำดับเฉพาะที่แสดงเพื่อหลีกเลี่ยงความขัดแย้ง
โซลูชันที่ 1:การตรวจสอบอาร์เรย์
เป็นไปได้ว่าคุณกำหนดค่าที่ไม่ถูกต้องสำหรับองค์ประกอบ Array ดังนั้น ขอแนะนำให้ตรวจสอบค่าที่คุณได้กำหนดไว้สำหรับองค์ประกอบ Array อีกครั้ง และตรวจสอบให้แน่ใจว่าเป็นค่าที่ถูกต้อง นอกจากนี้ อย่าลืมตรวจสอบการประกาศอาร์เรย์และยืนยัน ขอบบนและขอบล่าง หากอาร์เรย์ได้รับการกำหนดขนาดใหม่ ตรวจสอบให้แน่ใจว่าได้ใช้ LBound และ UBound หน้าที่ในการเข้าถึงเงื่อนไข ตรวจสอบการสะกดของชื่อตัวแปรหากดัชนีเป็นตัวแปร
แนวทางที่ 2:การระบุจำนวนองค์ประกอบ
ในบางกรณี เป็นไปได้ว่าคุณอาจไม่ได้กำหนดจำนวนองค์ประกอบในโค้ดของคุณเนื่องจากข้อผิดพลาดดังกล่าวเกิดขึ้น ขอแนะนำให้คุณระบุจำนวนองค์ประกอบในอาร์เรย์โดยใช้ Dim หรือ ReDim ฟังก์ชัน
แนวทางที่ 3:การเปลี่ยนโครงสร้าง
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อผู้ใช้ระบุสมาชิกคอลเลกชันที่ไม่ถูกต้องหรือไม่มีอยู่จริง ดังนั้น แทนที่จะระบุองค์ประกอบดัชนี ขอแนะนำให้คุณเข้าใกล้ด้วย “สำหรับแต่ละ…ถัดไป ” สร้าง
โซลูชันที่ 4:การตรวจสอบชื่อคีย์และดัชนี
ในบางกรณี คุณอาจใช้รูปแบบชวเลขของตัวห้อยและระบุองค์ประกอบที่ไม่ถูกต้อง ดังนั้น ขอแนะนำให้คุณใช้คีย์ที่ถูกต้อง ชื่อ และ ดัชนี สำหรับการสะสม