Excel Subscript Out of Range Error ใน VBA (พร้อม 5 วิธีแก้ไข)

  • แบ่งปันสิ่งนี้
Hugh West

ในบทความนี้ เราจะแสดงสาเหตุของข้อผิดพลาด “ Subscript out of Range ” ใน Excel VBA และวิธีแก้ปัญหาดังกล่าว

ดาวน์โหลดเทมเพลตแบบฝึกหัด

คุณสามารถดาวน์โหลดเทมเพลตแบบฝึกหัด Excel ได้ฟรีจากที่นี่

Subscript Out of Range Error ใน VBA.xlsm

Subscript Out of Range Error ใน VBA คืออะไร ข้อผิดพลาด

VBA Subscript อยู่นอกช่วง เกิดขึ้นเมื่อเราพยายามเข้าถึงสมาชิกที่ไม่มีอยู่หรือคอลเลกชันอาร์เรย์ที่ไม่มีอยู่ใน Excel นี่เป็นข้อผิดพลาดประเภท “ ข้อผิดพลาดรันไทม์ 9 ” ในการเข้ารหัส VBA ใน Excel

ข้อผิดพลาดมักจะมีลักษณะดังนี้

5 เหตุผลพร้อมวิธีแก้ไข Subscript Out of Range Error ใน VBA

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

1. ตัวห้อยอยู่นอกช่วงข้อผิดพลาดใน VBA สำหรับสมุดงานที่ไม่มีอยู่

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

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

วิธีแก้ไข

หากต้องการแก้ไขข้อผิดพลาดนี้ ก่อนอื่นให้เปิดสมุดงาน Excel ที่คุณต้องการเข้าถึง จากนั้นเรียกใช้ มาโคร

2. ตัวห้อยอยู่นอกช่วงข้อผิดพลาดใน VBA สำหรับไม่มีอยู่แผ่นงาน

เมื่อคุณพยายามเข้าถึงแผ่นงานที่ไม่มีอยู่ในสมุดงาน Excel คุณจะได้รับข้อผิดพลาด “ Subscript out of range ” ใน VBA .

หากเราพยายามเรียกใช้โค้ดที่แสดงด้านบน เราจะได้รับข้อผิดพลาดเนื่องจากไม่มี “ Sheet2 ” แผ่นงานที่มีอยู่ในสมุดงานของเรา

วิธีแก้ไข

ในการแก้ไขข้อผิดพลาดนี้ คุณต้องมีแผ่นงาน Excel ที่คุณต้องการเข้าถึงในสมุดงานที่กำลังทำงานอยู่และ จากนั้นเรียกใช้แมโคร

3. Subscript Out of Range Error ใน VBA สำหรับ Undefined Array Elements

หากคุณไม่กำหนดความยาวของไดนามิกอาร์เรย์ด้วย คำ DIM หรือ REDIM ใน Excel VBA จากนั้นคุณจะได้รับข้อผิดพลาด “ Subscript out of range

ในโค้ดข้างต้น เราประกาศ Array ในมิติข้อมูลตั้งแต่ 5 ถึง 10 แต่อ้างถึงตัวห้อยของดัชนี 3 ซึ่งต่ำกว่า 5

วิธีแก้ไข

ในการแก้ปัญหานี้ ให้ประกาศดัชนีระหว่างมิติ Array

ส่วนนี้ e ของรหัสทำงานได้ดีอย่างสมบูรณ์เพราะที่นี่เราอ้างถึงตัวห้อยของดัชนี 5 ซึ่งอยู่ในช่วง 5 ถึง 10

4. Subscript Out of Range Error ใน VBA for Invalid Collection/ อาร์เรย์

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

ดูตัวอย่างข้างต้น เราประกาศตัวแปรเป็นอาร์เรย์ แต่แทนที่จะกำหนดจุดเริ่มต้นและจุดสิ้นสุด เราได้กำหนดอาร์เรย์แรกด้วยค่า 20 โดยตรง

วิธีแก้ไข

ถึง แก้ไขปัญหานี้ เราต้องกำหนดความยาวของอาร์เรย์ด้วยจุดเริ่มต้นและจุดสิ้นสุด

โค้ดนี้ไม่มีข้อผิดพลาดใดๆ เพราะตอนนี้เราได้ประกาศอาร์เรย์แล้ว โดยมีจุดเริ่มต้นเป็น 1 และจุดสิ้นสุดเป็น 5

5. Subscript Out of Range Error ใน VBA สำหรับ Shorthand Script

หากคุณใช้ชวเลขจาก ตัวห้อยและอ้างถึงองค์ประกอบที่ไม่ถูกต้อง คุณจะได้รับข้อผิดพลาด “ ตัวห้อยอยู่นอกช่วง ” ใน Excel VBA ตัวอย่างเช่น [A2] เป็นชวเลขสำหรับ ActiveSheet.Range(A2) .

Solution

เพื่อแก้ไข คุณต้องใช้ ชื่อคีย์ และ ดัชนี ที่ถูกต้องสำหรับคอลเลกชัน แทนที่จะเขียน ActiveSheet.Range(A2) คุณสามารถเขียน [ A2 ] ได้

ข้อดีของ Excel Subscript Out of Range Error ใน VBA

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

ข้อควรจำ

  • เนื่องจากข้อผิดพลาดนี้จะรวบรวมโค้ดแต่ละขั้นตอนเพื่อบอกให้เราทราบว่าส่วนใดของโค้ดที่เราต้องดำเนินการจริง ๆ ดังนั้นจึงเป็นการดีกว่าที่จะรวบรวมโค้ดแต่ละบรรทัดทีละบรรทัดโดยกดปุ่ม F8 หากคุณมีโค้ดหลายบรรทัด
<4 สรุป

บทความนี้แสดงสาเหตุและวิธีแก้ปัญหาของ Excel ตัวห้อยอยู่นอกช่วง ข้อผิดพลาดใน VBA ฉันหวังว่าบทความนี้จะเป็นประโยชน์ต่อคุณอย่างมาก อย่าลังเลที่จะถามคำถามเกี่ยวกับหัวข้อนี้

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง