Talaan ng nilalaman
Sa artikulong ito, ipapakita namin sa iyo ang mga dahilan para sa error na “ Subscript out of Range ” sa Excel VBA at kung paano lutasin ang mga iyon.
I-download ang Practice Template
Maaari mong i-download ang libreng practice Excel template mula dito.
Subscript Out of Range Error sa VBA.xlsm
Ano ang Subscript Out of Range Error sa VBA?
VBA Subscript out of range nangyayari ang error kapag sinubukan naming i-access ang anumang hindi umiiral na miyembro o hindi umiiral na koleksyon ng array sa Excel. Ito ay isang “ Run-Time Error 9 ” na uri ng error sa VBA coding sa Excel.
Karaniwang ganito ang hitsura ng error,
5 Mga Dahilan sa Mga Solusyon ng Subscript Out of Range Error sa VBA
Tatalakayin ng seksyong ito ang 5 pinakakaraniwang dahilan para sa paglitaw ng Ang subscript out of range error at ano ang mga solusyon dito.
1. Subscript Out of Range Error sa VBA para sa Nonexistent Workbook
Kapag sinubukan mong i-access ang Excel workbook na hindi bukas, makakakuha ka ng error na “ Subscript out of range ”.
Kung susubukan naming Patakbuhin ang code na ipinapakita sa itaas, makukuha namin ang error dahil walang Excel workbook na pinangalanang " Sales ” na kasalukuyang bukas.
Solusyon
Upang malutas ang error na ito, buksan muna ang Excel workbook na gusto mong i-access at pagkatapos ay Patakbuhin ang macro.
2. Subscript Out of Range Error sa VBA para sa WalaWorksheet
Kapag sinubukan mong i-access ang isang worksheet na wala sa Excel workbook, makukuha mo rin ang error na “ Subscript out of range ” sa VBA .
Kung susubukan naming Patakbuhin ang code na ipinapakita sa itaas, makukuha namin ang error dahil walang “ Sheet2 ” worksheet na available sa aming workbook.
Solusyon
Upang malutas ang error na ito, kailangan mong magkaroon ng Excel sheet na gusto mong i-access sa gumaganang workbook at pagkatapos ay Patakbuhin ang macro.
3. Subscript Out of Range Error sa VBA para sa mga Undefined Array Elements
Kung hindi mo tutukuyin ang haba ng isang dynamic na Array na may salitang DIM o REDIM sa Excel VBA , pagkatapos ay makukuha mo ang error na “ Subscript out of range ”.
Sa code sa itaas, idineklara namin ang Array sa dimensyon mula 5 hanggang 10 ngunit tinukoy ang isang subscript ng index 3, na mas mababa sa 5.
Solusyon
Upang malutas ito, ideklara ang index sa pagitan ng dimensyon ng Array.
Itong piec e ng code ay gumagana nang perpekto dahil dito tinukoy namin ang subscript ng index 5, na nasa loob ng hanay ng 5 hanggang 10.
4. Subscript Out of Range Error sa VBA para sa Invalid Collection/ Array
Kapag ang subscript ay mas malaki o mas maliit kaysa sa hanay ng posibleng subscript, ang Subscript out of range ay magaganap.
Tingnan ang halimbawa sa itaas, kamiidineklara ang variable bilang Array, ngunit sa halip na magtalaga ng panimula at wakas na punto, direkta naming itinalaga ang unang array na may halagang 20.
Solusyon
Sa ayusin ang isyung ito, kailangan naming italaga ang haba ng array na may simula at pagtatapos na punto.
Ang code na ito ay hindi nagbibigay ng anumang error dahil ngayon ay idineklara na namin ang Array na may panimulang puntong 1 at pangwakas na puntong 5.
5. Subscript Out of Range Error sa VBA para sa Shorthand Script
Kung gagamit ka ng shorthand mula sa isang subscript at ito ay tumutukoy sa isang di-wastong elemento pagkatapos ay makukuha mo ang " Subscript out of range " na error sa Excel VBA . Halimbawa, ang [A2] ay ang shorthand para sa ActiveSheet.Range(A2) .
Solusyon
Upang ayusin ito, kailangan mong gumamit ng wastong pangalan ng key at index para sa koleksyon. Sa halip na isulat ang ActiveSheet.Range(A2) , maaari mo lamang isulat ang [ A2 ].
Bentahe ng Excel Subscript Out of Range Error sa VBA
- VBA Subscript out of range error o “ Run-Time Error 9 ” ay talagang kapaki-pakinabang sa pagtukoy sa posisyon ng error kung saan ito nangyari sa VBA code.
- Ang error na ito ay tumutulong sa mga user na mahanap ang uri ng error upang masuri at mahanap nila ang mga solusyon ayon sa error code.
Mga Dapat Tandaan
- Habang pinagsama-sama ng error na ito ang bawat hakbang ng code upang idirekta sa amin kung aling bahagi ngang code na talagang kailangan nating gumawa ng mga aksyon, kaya mas mainam na i-compile ang bawat linya ng code nang paisa-isa sa pamamagitan ng pagpindot sa F8 key kung mayroon kang malaking linya ng code.
Konklusyon
Ipinakita sa iyo ng artikulong ito ang mga dahilan at solusyon ng Excel Subscript out of range error sa VBA. Umaasa ako na ang artikulong ito ay naging lubhang kapaki-pakinabang sa iyo. Huwag mag-atubiling magtanong ng anumang mga katanungan tungkol sa paksa.