Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาดของ Windows

จะแก้ไขข้อผิดพลาด 'Subscript Out of Range' ใน Visual Basic สำหรับแอปพลิเคชันได้อย่างไร

Visual Basic for Applications (VBA) คือการนำภาษาการเขียนโปรแกรม Visual Basic ที่พัฒนาโดย Microsoft ไปใช้ VBA สามารถใช้สำหรับเปิดใช้งาน UDF ทำงานอัตโนมัติ และสำหรับการเข้าถึง WinAPI ผ่าน DLL อย่างไรก็ตาม เมื่อไม่นานมานี้ มีรายงานจำนวนมากที่ผู้ใช้ไม่สามารถดำเนินการคำสั่งบางอย่างและ “ตัวห้อยอยู่นอกขอบเขต ข้อผิดพลาด 9 ” ปรากฏขึ้นขณะพยายามทำเช่นนั้น

จะแก้ไขข้อผิดพลาด  Subscript Out of Range  ใน Visual Basic สำหรับแอปพลิเคชันได้อย่างไร

อะไรทำให้เกิดข้อผิดพลาด "ตัวห้อยอยู่นอกช่วง" ใน VBA

หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายราย เราจึงตัดสินใจตรวจสอบปัญหาและคิดหาวิธีแก้ไขเพื่อแก้ไขปัญหาทั้งหมด นอกจากนี้เรายังตรวจสอบสาเหตุที่ทำให้เกิดการเรียกและระบุสาเหตุดังนี้

  • องค์ประกอบที่ไม่มีอยู่:  ในบางกรณี คุณอาจอ้างอิงองค์ประกอบในคำสั่งที่ไม่มีอยู่จริง เป็นไปได้ว่าตัวห้อยมีขนาดใหญ่หรือเล็กกว่าช่วงของตัวห้อยที่เป็นไปได้ หรือมิติข้อมูลอาจไม่ได้ถูกกำหนดให้กับอาร์เรย์ ณ จุดนี้ในแอปพลิเคชัน
  • องค์ประกอบที่ไม่ได้กำหนด:  เป็นไปได้ว่าคุณไม่ได้ระบุจำนวนองค์ประกอบในโค้ดของคุณ สิ่งสำคัญคือต้องกำหนดจำนวนองค์ประกอบในอาร์เรย์โดยใช้คำสั่ง "Dim" หรือ "ReDim"
  • สมาชิกเรียกเก็บเงินไม่ถูกต้อง: ในบางกรณี ผู้ใช้อาจอ้างอิงถึงสมาชิกคอลเลกชันที่ไม่มีอยู่ หากมีการอ้างอิงที่ไม่ถูกต้องต่อสมาชิกคอลเลกชัน ข้อผิดพลาดนี้อาจถูกทริกเกอร์
  • สคริปต์ตัวย่อ:  เป็นไปได้ว่าคุณได้ใช้รูปแบบชวเลขของตัวห้อยและระบุองค์ประกอบที่ไม่ถูกต้องโดยปริยาย การใช้ชื่อคีย์ที่ถูกต้องเป็นสิ่งสำคัญ

เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับธรรมชาติของปัญหาแล้ว เราจะดำเนินการแก้ไขต่อไป ตรวจสอบให้แน่ใจว่าได้ใช้สิ่งเหล่านี้ในลำดับเฉพาะที่แสดงเพื่อหลีกเลี่ยงความขัดแย้ง

โซลูชันที่ 1:การตรวจสอบอาร์เรย์

เป็นไปได้ว่าคุณกำหนดค่าที่ไม่ถูกต้องสำหรับองค์ประกอบ Array ดังนั้น ขอแนะนำให้ตรวจสอบค่าที่คุณได้กำหนดไว้สำหรับองค์ประกอบ Array อีกครั้ง และตรวจสอบให้แน่ใจว่าเป็นค่าที่ถูกต้อง นอกจากนี้ อย่าลืมตรวจสอบการประกาศอาร์เรย์และยืนยัน ขอบบนและขอบล่าง หากอาร์เรย์ได้รับการกำหนดขนาดใหม่ ตรวจสอบให้แน่ใจว่าได้ใช้ LBound และ UBound หน้าที่ในการเข้าถึงเงื่อนไข ตรวจสอบการสะกดของชื่อตัวแปรหากดัชนีเป็นตัวแปร

จะแก้ไขข้อผิดพลาด  Subscript Out of Range  ใน Visual Basic สำหรับแอปพลิเคชันได้อย่างไร

แนวทางที่ 2:การระบุจำนวนองค์ประกอบ

ในบางกรณี เป็นไปได้ว่าคุณอาจไม่ได้กำหนดจำนวนองค์ประกอบในโค้ดของคุณเนื่องจากข้อผิดพลาดดังกล่าวเกิดขึ้น ขอแนะนำให้คุณระบุจำนวนองค์ประกอบในอาร์เรย์โดยใช้ Dim หรือ ReDim ฟังก์ชัน

จะแก้ไขข้อผิดพลาด  Subscript Out of Range  ใน Visual Basic สำหรับแอปพลิเคชันได้อย่างไร

แนวทางที่ 3:การเปลี่ยนโครงสร้าง

ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อผู้ใช้ระบุสมาชิกคอลเลกชันที่ไม่ถูกต้องหรือไม่มีอยู่จริง ดังนั้น แทนที่จะระบุองค์ประกอบดัชนี ขอแนะนำให้คุณเข้าใกล้ด้วย “สำหรับแต่ละ…ถัดไป ” สร้าง

จะแก้ไขข้อผิดพลาด  Subscript Out of Range  ใน Visual Basic สำหรับแอปพลิเคชันได้อย่างไร

โซลูชันที่ 4:การตรวจสอบชื่อคีย์และดัชนี

ในบางกรณี คุณอาจใช้รูปแบบชวเลขของตัวห้อยและระบุองค์ประกอบที่ไม่ถูกต้อง ดังนั้น ขอแนะนำให้คุณใช้คีย์ที่ถูกต้อง ชื่อ และ ดัชนี สำหรับการสะสม

จะแก้ไขข้อผิดพลาด  Subscript Out of Range  ใน Visual Basic สำหรับแอปพลิเคชันได้อย่างไร