Tabela e përmbajtjes
Në këtë artikull, ne do t'ju tregojmë arsyet e gabimit " Abonimi jashtë diapazonit " në Excel VBA dhe si t'i zgjidhni ato.
Shkarko shabllonin e praktikës
Mund ta shkarkosh shabllonin e praktikës falas të Excel nga këtu.
Gabimi i abonimit jashtë gamës në VBA.xlsm
Çfarë është gabimi i abonimit jashtë gamës në VBA? Gabimi
VBA Subscript jashtë gamës ndodh kur përpiqemi të aksesojmë ndonjë anëtar joekzistent ose koleksion joekzistent të grupeve në Excel. Ky është një lloj gabimi " Gabimi në kohën e ekzekutimit 9 " në kodimin VBA në Excel.
Gabimi zakonisht duket kështu,
5 arsye me zgjidhjet e gabimit të nënshkrimit jashtë gamës në VBA
Ky seksion do të diskutojë 5 arsyet më të zakonshme për shfaqjen e Gabimi i nënshkrimit jashtë gamës dhe cilat janë zgjidhjet për të.
1. Gabim abonimi jashtë rrezes në VBA për libër pune joekzistent
Kur përpiqeni të përdorni një libër pune në Excel që nuk është i hapur, do të merrni një gabim " Abonimi jashtë diapazonit ".
Nëse përpiqemi të ekzekutojmë kodin e treguar më sipër, do të marrim gabimin sepse nuk ka asnjë libër pune në Excel me emrin " Sales ” që është aktualisht i hapur.
Zgjidhja
Për të zgjidhur këtë gabim, fillimisht hapni librin e punës të Excel-it që dëshironi të përdorni dhe më pas ekzekutoni makro.
2. Gabim nënshkrimi jashtë gamës në VBA për InekzistentFletë pune
Kur përpiqeni të përdorni një fletë pune që nuk ekziston në librin e punës të Excel, atëherë do të merrni gjithashtu gabimin " Subscript jashtë rrezes " në VBA .
Nëse përpiqemi të ekzekutojmë kodin e treguar më sipër, do të marrim gabimin sepse nuk ka " Fleta2
Zgjidhja
Për të zgjidhur këtë gabim, duhet të keni fletën e Excel-it që dëshironi të përdorni në librin e punës në punë dhe pastaj ekzekutoni makron.
3. Gabim nënshkrimi jashtë diapazonit në VBA për elementet e vargjeve të papërcaktuara
Nëse nuk e përcaktoni gjatësinë e një vargu dinamik me fjala DIM ose REDIM në Excel VBA , atëherë do të merrni gabimin " Abonimi jashtë diapazonit ".
Në kodin e mësipërm, ne deklaruam grupin në dimensionin nga 5 në 10, por iu referuam një nënshkrimi të indeksit 3, i cili është më i ulët se 5.
Zgjidhje
Për ta zgjidhur këtë, deklaroni indeksin në mes të dimensionit Array.
Kjo pjesë e i kodit funksionon në mënyrë perfekte sepse këtu iu referuam nënshkrimit të indeksit 5, i cili është brenda intervalit nga 5 deri në 10.
4. Gabim nënshkrimi jashtë diapazonit në VBA për koleksion të pavlefshëm/ Array
Kur nënshkrimi është më i madh ose më i vogël se diapazoni i nënshkrimit të mundshëm, atëherë do të ndodhë gabimi Subscript jashtë gamës .
Shikoni shembullin e mësipërm, nedeklaroi variablin si një varg, por në vend që të caktojmë një pikë fillimi dhe mbarimi, ne kemi caktuar direkt grupin e parë me vlerën 20.
Zgjidhja
Për rregullojmë këtë problem, duhet të caktojmë gjatësinë e grupit me një pikë fillimi dhe mbarimi.
Ky kod nuk jep asnjë gabim sepse tani kemi deklaruar grupin me një pikë fillimi prej 1 dhe një pikë përfundimi prej 5.
5. Gabim nënshkrimi jashtë gamës në VBA për skriptin shkurtor
Nëse përdorni një stenografi nga një nënshkrimi dhe i referohet një elementi të pavlefshëm, atëherë do të merrni gabimin " Abonimi jashtë rrezes " në Excel VBA . Për shembull, [A2] është stenografi për ActiveSheet.Range(A2) .
Zgjidhja
Për të rregulluar Për këtë, ju duhet të përdorni një emër kyç dhe indeks të vlefshëm për koleksionin. Në vend që të shkruani ActiveSheet.Range(A2) , mund të shkruani vetëm [ A2 ].
Avantazhi i gabimit të abonimit në Excel jashtë diapazonit në VBA
- VBA Abonimi jashtë rrezes ose " Gabimi në kohën e ekzekutimit 9 " është vërtet i dobishëm për të specifikuar pozicionin e gabimit ku ndodhi në kodin VBA .
- Ky gabim i ndihmon përdoruesit të gjejnë llojin e gabimit në mënyrë që të mund të kontrollojnë dhe të gjejnë zgjidhjet sipas kodit të gabimit.
Gjërat që duhen mbajtur mend
- Meqë ky gabim përpilon çdo hap të kodit për të na drejtuar saktësisht se cila pjesë ekodi për të cilin në fakt duhet të ndërmarrim veprime, kështu që është më mirë të përpiloni çdo rresht kodi një nga një duke shtypur tastin F8 nëse keni një linjë të madhe kodi.
Përfundim
Ky artikull ju tregoi arsyet dhe zgjidhjet e gabimit të Excel Subscript jashtë rrezes në VBA. Shpresoj se ky artikull ka qenë shumë i dobishëm për ju. Mos ngurroni të bëni çdo pyetje në lidhje me temën.