Mundarija
Ushbu maqolada biz sizga Excel VBA da “ Subscript out of Range ” xatosining sabablarini va ularni qanday hal qilishni ko'rsatamiz.
Mashq shablonini yuklab oling
Bepul amaliyot Excel shablonini shu yerdan yuklab olishingiz mumkin.
VBA.xlsm da diapazondan tashqarida boʻlgan obuna xatosi
VBA-da Subscript Out of Range xatosi nima?
VBA Subscript diapazondan tashqarida xatosi Excelda mavjud boʻlmagan aʼzolar yoki mavjud boʻlmagan massivlar toʻplamiga kirishga harakat qilganimizda yuzaga keladi. Bu Excelda VBA kodlashdagi “ Run-Time Error 9 ” xato turidir.
Xato odatda shunday ko'rinadi
VBA-da diapazondan tashqarida bo'lgan subscript xatosining 5 sabablari
Ushbu bo'limda paydo bo'lishining eng keng tarqalgan 5 sababi muhokama qilinadi. Subscript diapazondan tashqarida xato va uning yechimlari qanday.
1. Mavjud bo'lmagan ish kitobi uchun VBA-da diapazondan tashqaridagi obuna xatosi
Ochiq bo'lmagan Excel ish kitobiga kirishga harakat qilganingizda, siz “ Obod yozuv diapazondan tashqari ” xatosini olasiz.
Agar biz yuqorida ko'rsatilgan kodni Ishga tushirishga harakat qilsak, biz xatoga duch kelamiz, chunki " " nomli Excel ish kitobi yo'q. Sotish ” hozirda ochiq.
Yechim
Ushbu xatoni hal qilish uchun avval kirishni istagan Excel ish kitobini oching va keyin ishga tushiring. makro.
2. Yo'q uchun VBA-da diapazondan tashqaridagi subscript xatosiIshchi varaq
Excel ish kitobida mavjud bo'lmagan ish varag'iga kirishga harakat qilganingizda, VBA da " Subscript out of diapazon " xatosini ham olasiz. .
Agar biz yuqorida ko'rsatilgan kodni ishga tushirishga harakat qilsak, xatoga duch kelamiz, chunki " Vaq2 <" yo'q. 2>” ish varaqasi ish daftarimizda mavjud.
Yechim
Ushbu xatoni hal qilish uchun siz ishlayotgan ish kitobida kirishni istagan Excel varag'iga ega bo'lishingiz va so'ngra makrosni ishga tushiring.
3. Belgilanmagan massiv elementlari uchun VBA-da diapazondan tashqarida bo'lgan pastki chiziq xatosi
Agar dinamik massiv uzunligini quyidagi parametr bilan belgilamasangiz. Word DIM yoki REDIM Excelda VBA , keyin siz “ Subscript out of diapazon ” xatosini olasiz.
Yuqoridagi kodda biz massivni 5 dan 10 gacha boʻlgan oʻlchamda eʼlon qildik, lekin 5 dan past boʻlgan 3-indeksning pastki belgisiga ishora qildik.
Yechim
Buni hal qilish uchun indeksni Massiv o'lchami o'rtasida e'lon qiling.
Ushbu qism e kodi juda yaxshi ishlaydi, chunki bu yerda biz 5 dan 10 gacha bo'lgan oraliqda joylashgan 5 indeksining pastki belgisiga murojaat qildik.
4. Noto'g'ri to'plam uchun VBA-da diapazondan tashqaridagi xat. Massiv
Agar pastki indeks mumkin bo'lgan pastki qator diapazonidan kattaroq yoki kichikroq bo'lsa, Obog' diapazondan tashqarida xatosi yuzaga keladi.
Yuqoridagi misolga qarang, bizo'zgaruvchini Massiv deb e'lon qildik, lekin boshlang'ich va tugash nuqtasini belgilash o'rniga biz to'g'ridan-to'g'ri 20 qiymatiga ega birinchi massivni tayinladik.
Yechim
To bu muammoni hal qilish uchun massiv uzunligini boshlanish va tugash nuqtasi bilan belgilashimiz kerak.
Ushbu kod hech qanday xatolik bermaydi, chunki endi biz massivni e'lon qildik. boshlang'ich nuqtasi 1 va tugash nuqtasi 5.
5. Stenografiya skripti uchun VBA-da subscript diapazondan tashqarida xatolik
Agar siz stenografiyadan foydalansangiz subscript va u yaroqsiz elementga ishora qiladi, keyin Excel VBA da “ Subscript out of diapazon ” xatosini olasiz. Masalan, [A2] bu ActiveSheet.Range(A2) ning qisqartmasi.
Yechim
Tuzatish uchun Buning uchun siz to'plam uchun tegishli kalit nomi va indeks dan foydalanishingiz kerak. ActiveSheet.Range(A2) yozish o'rniga, siz shunchaki [ A2 ] yozishingiz mumkin.
Excel Subscript-ning afzalligi VBA-da diapazondan tashqarida xatolik
- VBA Subscript diapazondan tashqarida xato yoki “ Ishlash vaqti xatosi 9 ” xatolik yuzaga kelgan joyni aniqlashda juda foydali. VBA kodida.
- Ushbu xato foydalanuvchilarga xato turini topishga yordam beradi, shunda ular xato kodiga muvofiq tekshirish va yechimlarni topishlari mumkin.
Eslash kerak bo'lgan narsalar
- Ushbu xato kodning har bir bosqichini to'playdi.Biz amalda amal qilishimiz kerak bo'lgan kod, shuning uchun agar sizda katta kod qatori bo'lsa, F8 tugmachasini bosib, har bir kod qatorini birma-bir kompilyatsiya qilgan ma'qul.
Xulosa
Ushbu maqola sizga VBA-da Excel Subscript out of diapazon xatosining sabablari va yechimlarini ko'rsatdi. Umid qilamanki, ushbu maqola siz uchun juda foydali bo'ldi. Mavzu bo'yicha har qanday savolni bemalol berishingiz mumkin.