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