Грешка за претплата на Excel надвор од опсегот во VBA (со 5 решенија)

  • Споделете Го Ова
Hugh West

Во оваа статија ќе ви ги покажеме причините за грешката „ Претплата надвор од опсегот “ во Excel VBA и како да ги решите.

Преземете го шаблонот за вежбање

Можете да го преземете шаблонот за бесплатна пракса Excel од овде.

Грешка за претплата надвор од опсегот во VBA.xlsm

Што е грешка во претплатата надвор од опсегот во VBA? Грешката

VBA Subscript надвор од опсегот се јавува кога се обидуваме да пристапиме до кој било непостоечки член или непостоечка збирка низа во Excel. Ова е тип на грешка „ Грешка во времето на извршување 9 “ во кодирањето VBA во Excel.

Грешката обично изгледа вака,

5 причини со решенија за претплатна грешка надвор од опсегот во VBA

Овој дел ќе разговара за 5-те најчести причини за појава на Грешка за претплата надвор од опсегот и кои се решенијата за неа.

1. Грешка за претплата надвор од опсегот во VBA за непостоечка работна книга

Кога ќе се обидете да пристапите до работна книга на Excel што не е отворена, ќе добиете грешка „ Претплата надвор од опсегот “.

Ако се обидеме да го извршиме кодот прикажан погоре, ќе ја добиеме грешката бидејќи нема работна книга на Excel со име „ Sales “ што е моментално отворена.

Решение

За да ја решите оваа грешка, прво отворете ја работната книга на Excel до која сакате да пристапите, а потоа Стартувај макрото.

2. Грешка за претплата надвор од опсегот во VBA за непостоечкаРаботен лист

Кога ќе се обидете да пристапите до работен лист што не постои во работната книга на Excel, тогаш ќе ја добиете и грешката „ Претплата надвор од опсегот “ во VBA .

Ако се обидеме да ја извршиме шифрата прикажана погоре, ќе ја добиеме грешката бидејќи нема „ Sheet2 “ работен лист достапен во нашата работна книга.

Решение

За да ја решите оваа грешка, треба да го имате листот Excel до кој сакате да пристапите во работната книга што работи и потоа извршете го макрото.

3. Грешка за претплата надвор од опсегот во VBA за недефинирани елементи од низата

Ако не ја дефинирате должината на динамичната низа со збор DIM или REDIM во Excel VBA , тогаш ќе ја добиете грешката „ Претплата надвор од опсегот “.

Во горниот код, ја деклариравме низата во димензијата од 5 до 10, но се осврнавме на претплата на индексот 3, кој е помал од 5.

Решение

За да го решите ова, пријавете го индексот помеѓу димензијата низа.

Ова парче е од кодот работи совршено добро затоа што овде се осврнавме на претплатата на индексот 5, кој е во опсегот од 5 до 10.

4. Грешка во претплата надвор од опсегот во VBA за невалидна колекција/ Низа

Кога претплатата е поголема или помала од опсегот на можниот знак, тогаш ќе се појави грешката Претплата надвор од опсегот .

Погледнете го горниот пример, ниеја деклариравме променливата како низа, но наместо да доделиме почетна и крајна точка, директно ја доделивме првата низа со вредност од 20.

Решение

На поправете го овој проблем, треба да ја доделиме должината на низата со почетна и крајна точка.

Овој код не дава никаква грешка бидејќи сега ја прогласивме низата со почетна точка од 1 и крајна точка од 5.

5. Грешка во претплата во VBA за кратки скрипти

Ако користите стенографија од претплата и се однесува на неважечки елемент, тогаш ќе ја добиете грешката „ Претплата надвор од опсегот “ во Excel VBA . На пример, [A2] е стенографија за ActiveSheet.Range(A2) .

Решение

За да се поправи ова, мора да користите валидно име на клучот и индекс за колекцијата. Наместо да пишувате ActiveSheet.Range(A2) , можете само да напишете [ A2 ].

Предност на претплатата на Excel надвор од опсегот Грешка во VBA<Грешка 2>

  • VBA претплата надвор од опсегот или „ Грешка во времето на извршување 9 “ е навистина корисна во одредувањето на позицијата на грешката каде што се појавила во кодот VBA .
  • Оваа грешка им помага на корисниците да го најдат типот на грешка за да можат да проверат и да ги најдат решенијата според кодот за грешка.

Работи што треба да се запаметат

  • Бидејќи оваа грешка го составува секој чекор од кодот за да нè насочи точно кој дел одкодот за кој всушност треба да преземеме активности, па затоа е подобро да ја компајлираме секоја линија код една по една со притискање на копчето F8 ако имате огромна линија код.

Заклучок

Оваа статија ви ги покажа причините и решенијата за грешката Претплата надвор од опсегот на Excel во VBA. Се надевам дека овој напис беше многу корисен за вас. Слободно поставувајте какви било прашања во врска со темата.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.