VBA-da Excel subscript diapazondan tashqarida xato (5 ta yechim bilan)

  • Buni Baham Ko'Ring
Hugh West

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.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.