Excel-onderskrif buite-omvangfout in VBA (met 5 oplossings)

  • Deel Dit
Hugh West

In hierdie artikel sal ons jou die redes wys vir die " Subscript out of Range "-fout in Excel VBA en hoe om dit op te los.

Laai oefensjabloon af

Jy kan die gratis oefen- Excel-sjabloon van hier af aflaai.

Subscript Out of Range Error in VBA.xlsm

Wat is Subscript Out of Range Error in VBA?

VBA-onderskrif buite omvang -fout vind plaas wanneer ons probeer om toegang te verkry tot enige nie-bestaande lid of nie-bestaande skikkingversameling in Excel. Dit is 'n " Run-Time Error 9 " tipe fout in VBA kodering in Excel.

Die fout lyk gewoonlik so,

5 redes met oplossings van subskripsie buite-omvangfout in VBA

Hierdie afdeling sal die 5 mees algemene redes vir die voorkoms van die bespreek Onderskrif buite reeks -fout en wat is die oplossings daarvoor.

1. Onderskrif buite-omvangfout in VBA vir nie-bestaande werkboek

Wanneer jy probeer om toegang tot 'n Excel-werkboek te kry wat nie oop is nie, sal jy 'n " Subskrip buite bereik "-fout kry.

As ons probeer om die kode wat hierbo gewys word hardloop , sal ons die fout kry want daar is geen Excel-werkboek met die naam " Verkope ” wat tans oop is.

Oplossing

Om hierdie fout op te los, maak eers die Excel-werkboek oop waartoe jy toegang wil hê en dan Begin die makro.

2. Onderskrif buite bereik fout in VBA vir nie-bestaandeWerkblad

Wanneer jy probeer om toegang te verkry tot 'n werkblad wat nie in die Excel-werkboek bestaan ​​nie, sal jy ook die " Subscript buite reeks "-fout kry in VBA .

As ons probeer om die kode hierbo te laat loop, sal ons die fout kry want daar is geen " Blad2 ” werkblad beskikbaar in ons werkboek.

Oplossing

Om hierdie fout op te los, moet jy die Excel-blad waartoe jy toegang wil hê in die lopende werkboek hê en Begin dan die makro.

3. Onderskrif buite-reeksfout in VBA vir ongedefinieerde skikkingselemente

As jy nie die lengte van 'n dinamiese skikking definieer met die woord DIM of REDIM in Excel VBA , dan sal jy die “ Subscript out of range ”-fout kry.

In die bogenoemde kode het ons die Skikking in die dimensie van 5 tot 10 verklaar, maar het verwys na 'n subskripsie van indeks 3, wat laer as 5 is.

Oplossing

Om dit op te los, verklaar die indeks tussen die Array-dimensie.

Hierdie stuk e van kode werk heeltemal goed, want hier het ons verwys na die subskrip van die indeks 5, wat binne die reeks van 5 tot 10 is.

4. Subscript Out of Range Error in VBA for Invalid Collection/ Skikking

Wanneer die subskripsie groter of kleiner is as die omvang van moontlike subskripsie, sal die Subskrip buite reeks -fout voorkom.

Kyk na die bostaande voorbeeld, onshet die veranderlike as 'n Skikking verklaar, maar in plaas daarvan om 'n begin- en eindpunt toe te ken, het ons die eerste skikking direk met die waarde van 20 toegewys.

Oplossing

Aan los hierdie probleem op, ons moet die lengte van die skikking met 'n begin- en eindpunt toewys.

Hierdie kode gee geen fout nie, want nou het ons die Skikking verklaar met 'n beginpunt van 1 en 'n eindpunt van 5.

5. Subscript Out of Range Error in VBA vir Snelskrifskrif

As jy 'n snelskrif van 'n subscript en dit verwys na 'n ongeldige element, dan sal jy die " Subscript out of range "-fout in Excel VBA kry. Byvoorbeeld, [A2] is die snelskrif vir ActiveSheet.Range(A2) .

Oplossing

Om reg te stel dit, jy moet 'n geldige sleutelnaam en indeks vir die versameling gebruik. In plaas daarvan om ActiveSheet.Range(A2) te skryf, kan jy net [ A2 ] skryf.

Voordeel van Excel Subscript Out of Range Error in VBA

  • VBA Subscript buite reeks fout of " Run-Time Error 9 " is baie nuttig om die posisie van die fout te spesifiseer waar dit voorgekom het in die VBA -kode.
  • Hierdie fout help gebruikers om die tipe fout te vind sodat hulle die oplossings volgens die foutkode kan nagaan en vind.

Dinge om te onthou

  • Aangesien hierdie fout elke stap van kode saamstel om ons presies te wys watter deel vandie kode waarvoor ons eintlik aksies moet neem, daarom is dit beter om elke reël kode een vir een saam te stel deur die F8 sleutel te druk as jy 'n groot reël kode het.

Gevolgtrekking

Hierdie artikel het jou die redes en oplossings gewys van Excel Subscript buite reeks fout in VBA. Ek hoop hierdie artikel was baie voordelig vir jou. Vra gerus enige vrae rakende die onderwerp.

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.