Edukien taula
Artikulu honetan, Excel VBA -n " Barrutitik kanpoko azpiindizea " errorearen arrazoiak eta horiek nola konpondu erakutsiko dizkizugu.
Deskargatu Praktiken txantiloia
Doako praktikaren Excel txantiloia deskarga dezakezu hemendik.
Azpidez kanpoko errorea VBA.xlsm-n
Zer da barrutitik kanpoko azpiindizearen errorea VBAn?
VBA azpiindizea barrutitik kanpo errorea gertatzen da Excel-en existitzen ez den kide edo existitzen ez den array bilduma sartzen saiatzen garenean. Hau " Exekuzio-denborako errorea 9 " errore mota bat da VBA Excel-en kodetzean.
Errorea normalean honelakoa da,
5 arrazoi VBA-n azpiindize-errorearen irtenbideak
Atal honetan gertatzeko 5 arrazoi ohikoenak aztertuko dira. Barrutitik kanpoko azpiindizea errorea eta zeintzuk diren irtenbideak.
1. Inexistente lan-libururako VBA-n barrutitik kanpoko errorea
Irekita ez dagoen Excel lan-liburu batera sartzen saiatzen zarenean, " Barrutitik kanpo " errorea jasoko duzu.
Goian agertzen den kodea Exekutatu saiatzen bagara, errorea jasoko dugu, ez dagoelako Excel lan-libururik " izenekoa. Salmentak ” une honetan irekita dagoen.
Irtenbidea
Errore hau konpontzeko, ireki lehenik atzitu nahi duzun Excel lan-liburua eta gero Exekutatu makroa.
2. Barrutitik kanpoko errorea VBAn ez dagoenerakoLan-orria
Excel liburuan existitzen ez den lan-orri batera sartzen saiatzen zarenean, " Barrutitik kanpoko azpiindizea " errorea ere jasoko duzu VBA-n. .
Goian agertzen den kodea exekutatzen saiatzen bagara, errorea jasoko dugu, ez dagoelako “ Sheet2 ” lan-orria eskuragarri dago gure lan-koadernoan.
Irtenbidea
Errore hau konpontzeko, atzitu nahi duzun Excel orria izan behar duzu martxan dagoen lan-liburuan eta ondoren, exekutatu makroa.
3. Array-elementu definitu gabeko VBA-n azpiindizearen barrutitik kanpoko errorea
Ez baduzu matrize dinamiko baten luzera definitzen DIM edo REDIM hitza Excel VBA -n, orduan " Azpidez kanpo " errorea jasoko duzu.
Goiko kodean, Array-a 5etik 10era bitarteko dimentsioan deklaratu genuen baina 3. indizearen azpiindize bat aipatu genuen, 5 baino txikiagoa dena.
Soluzioa
Hau konpontzeko, adierazi Array dimentsioaren artean dagoen indizea.
Piez hau Kodeak primeran funtzionatzen du, hemen 5 indizearen azpiindizeari erreferentzia egin diogulako, hau da, 5 eta 10 bitarteko tartean dagoen. Array
Azpidedun indize posiblearen barrutiarena baino handiagoa edo txikiagoa denean, Barrutitik kanpoko azpiindizea errorea gertatuko da.
Begira goiko adibideari, gukaldagaia Array gisa deklaratu du, baina hasierako eta amaierako puntu bat esleitu beharrean, zuzenean esleitu diogu lehen arrayari 20 balioa.
Soluzioa
To konpondu arazo hau, matrizearen luzera hasiera eta amaiera puntu batekin esleitu behar dugu.
Kode honek ez du akatsik ematen, orain Array deklaratu dugulako. 1eko hasierako puntuarekin eta 5eko amaierako puntuarekin.
5. Azpi-indizearen barrutitik kanpoko errorea VBA-n Shorthand Scripterako
Laburdura bat erabiltzen baduzu. azpiindizea eta baliogabeko elementu bati egiten dio erreferentzia, orduan " Azpidez kanpo " errorea jasoko duzu Excel VBA . Adibidez, [A2] ActiveSheet.Range(A2) ren laburdura da.
Solution
Konpontzeko hau, baliozko gako-izena eta indize erabili behar dituzu bildumarako. ActiveSheet.Range(A2) idatzi beharrean, [ A2 idaztea besterik ez duzu.
VBA-n Excel azpi-indizearen abantailak barrutitik kanpoko errorea
- VBA azpiindizea barrutitik kanpo errorea edo " Exekuzio-denborako errorea 9 " oso erabilgarria da errorea non gertatu den zehazteko. VBA kodean.
- Errore honek erabiltzaileei errore-mota aurkitzen laguntzen die, errore-kodearen arabera irtenbideak egiaztatu eta aurki ditzaten.
Gogoratu beharreko gauzak
- Errore honek kode-urrats bakoitza konpilatzen duenez, zein zati zehatz-mehatz bideratzeko.benetan ekintzak egin behar ditugun kodea, beraz, hobe da kode lerro bakoitza banan-banan konpilatzea F8 tekla sakatuz kode-lerro handi bat baduzu.
Ondorioa
Artikulu honek Barrutitik kanpo Excel-en arrazoiak eta irtenbideak erakutsi dizkizu VBA-n. Artikulu hau zuretzat oso onuragarria izan dela espero dut. Anima zaitez gaiari buruzko edozein galdera egin.