Памылка індэкса Excel па-за дыяпазонам у VBA (з 5 рашэннямі)

  • Падзяліцца Гэтым
Hugh West

У гэтым артыкуле мы пакажам вам прычыны памылкі « Індэкс па-за дыяпазонам » у Excel VBA і як іх вырашыць.

Спампуйце шаблон практыкі

Вы можаце спампаваць бясплатны шаблон Excel практыкі адсюль.

Памылка індэкса па-за дыяпазонам у VBA.xlsm

Што такое індэкс па-за дыяпазонам у VBA?

Памылка VBA па-за дыяпазонам узнікае, калі мы спрабуем атрымаць доступ да любога неіснуючага члена або калекцыі неіснуючага масіва ў 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 Index Out-of Range Error у VBA

  • Памылка індэкса VBA па-за дыяпазонам або « Памылка выканання 9 » вельмі карысна для ўказання месца памылкі, дзе яна адбылася у кодзе VBA .
  • Гэтая памылка дапамагае карыстальнікам знайсці тып памылкі, каб яны маглі праверыць і знайсці рашэнні ў адпаведнасці з кодам памылкі.

Пра што трэба памятаць

  • Паколькі гэтая памылка кампілюе кожны крок кода, каб вызначыць, якую менавіта часткукод, для якога мы сапраўды павінны выконваць дзеянні, таму лепш кампіляваць кожны радок кода адзін за адным, націскаючы клавішу F8 , калі ў вас вялікі радок кода.

Выснова

Гэты артыкул паказаў вам прычыны і спосабы вырашэння памылкі Excel Індэкс па-за дыяпазонам у VBA. Я спадзяюся, што гэты артыкул быў для вас вельмі карысным. Не саромейцеся задаваць любыя пытанні па тэме.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.