Gabim jashtë gamës së abonimit në Excel në VBA (me 5 zgjidhje)

  • Shperndaje Kete
Hugh West

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 ” është e disponueshme në librin tonë të punës.

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 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.

Hugh West është një trajner dhe analist me përvojë të lartë në Excel me mbi 10 vjet përvojë në industri. Ai ka një diplomë Bachelor në Kontabilitet dhe Financë dhe një Master në Administrim Biznesi. Hugh ka një pasion për mësimdhënien dhe ka zhvilluar një qasje unike të mësimdhënies që është e lehtë për t'u ndjekur dhe kuptuar. Njohuritë e tij eksperte të Excel-it kanë ndihmuar mijëra studentë dhe profesionistë në mbarë botën të përmirësojnë aftësitë e tyre dhe të shkëlqejnë në karrierën e tyre. Nëpërmjet blogut të tij, Hugh ndan njohuritë e tij me botën, duke ofruar mësime falas në Excel dhe trajnime në internet për të ndihmuar individët dhe bizneset të arrijnë potencialin e tyre të plotë.