Excel Subscript Out of Range Flater yn VBA (mei 5 oplossingen)

  • Diel Dit
Hugh West

Yn dit artikel sille wy jo de redenen sjen litte foar de flater " Subscript out of Range " yn Excel VBA en hoe't jo dy oplosse kinne.

Download Practice Template

Jo kinne it fergese Excel-sjabloan downloade fan hjir.

Subscript Out of Range Error in VBA.xlsm

Wat is Subscript Out of Range Error yn VBA?

VBA Subscript out of range flater komt foar as wy besykje tagong te krijen ta elk net-besteand lid of net-besteand array-kolleksje yn Excel. Dit is in " Run-Time Error 9 " type flater yn VBA kodearring yn Excel.

De flater sjocht der normaal sa út,

5 Redenen mei oplossingen fan Subscript Out of Range Error yn VBA

Dizze seksje sil de 5 meast foarkommende redenen besprekke foar it foarkommen fan de Subscript out of range flater en wat binne de oplossingen dêrfoar.

1. Subscript Out of Range Error in VBA for Nonexistent Workbook

As jo ​​besykje tagong te krijen ta in Excel-wurkboek dat net iepen is, krije jo in flater " Underskrift bûten berik ".

As wy besykje Utfiere de hjirboppe werjûn koade, sille wy de flater krije, om't d'r gjin Excel-wurkboek is mei de namme " Ferkeap " dat op it stuit iepen is.

Oplossing

Om dizze flater op te lossen, iepenje earst it Excel-wurkboek dat jo tagong wolle en dan útfiere de makro.

2. Subscript Out of Range Flater yn VBA foar net-besteandWurkblêd

As jo ​​besykje tagong te krijen ta in wurkblêd dat net yn it Excel-wurkboek bestiet, dan krije jo ek de flater " Subscript out of range " yn VBA .

As wy besykje de hjirboppe werjûn koade út te fieren, krije wy de flater, om't der gjin " Sheet2 ” wurkblêd beskikber yn ús wurkboek.

Oplossing

Om dizze flater op te lossen, moatte jo it Excel-blêd hawwe dat jo tagong wolle yn it rinnende wurkboek en Run dan de makro.

3. Subscript Out of Range Error yn VBA foar Undefined Array Elements

As jo ​​de lingte fan in dynamyske Array net definiearje mei de wurd DIM of REDIM yn Excel VBA , dan krije jo de flater " Subscript out of range ".

Yn 'e boppesteande koade hawwe wy de Array ferklearre yn' e diminsje fan 5 oant 10, mar ferwize nei in subskript fan yndeks 3, dat leger is as 5.

Oplossing

Om dit op te lossen, ferklearje de yndeks tusken de Array-dimensje.

Dit stik e fan koade wurket perfekt goed, om't wy hjir ferwize nei it subskript fan 'e yndeks 5, dy't binnen it berik fan 5 oant 10 is.

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

As it subscript grutter of lytser is dan it berik fan mooglike subscript, dan sil de Subscript out of range flater foarkomme.

Sjoch nei it boppesteande foarbyld, wyferklearre de fariabele as in array, mar ynstee fan in begjin- en einpunt ta te jaan, hawwe wy de earste array direkt tawiisd mei de wearde fan 20.

Solution

Om dit probleem oplosse, wy moatte de lingte fan 'e array tawize mei in begjin- en einpunt.

Dizze koade jout gjin flater, om't wy no de Array ferklearre hawwe mei in begjinpunt fan 1 en in einpunt fan 5.

5. Subscript Out of Range Error yn VBA foar Shorthand Script

As jo ​​in shorthand brûke fan in subscript en it ferwiist nei in ûnjildich elemint dan krije jo de flater " Subscript out of range " yn Excel VBA . Bygelyks, [A2] is de koarting foar ActiveSheet.Range(A2) .

Oplossing

Om te reparearjen dit moatte jo in jildige kaainamme en yndeks brûke foar de kolleksje. Ynstee fan ActiveSheet.Range(A2) te skriuwen, kinne jo gewoan [ A2 ] skriuwe.

Foardielen fan Excel Subscript Out of Range Error yn VBA

  • VBA Subscript out of range flater of " Run-Time Error 9 " is echt nuttich by it opjaan fan de posysje fan 'e flater wêr't it barde yn de VBA -koade.
  • Dizze flater helpt brûkers om it type flater te finen, sadat se de oplossingen kontrolearje en fine kinne neffens de flaterkoade.

Dingen om te ûnthâlden

  • Om't dizze flater elke stap fan koade kompilearret om ús krekt te rjochtsjen hokker diel fande koade dêr't wy eins aksjes foar moatte nimme, dus it is better om elke rigel koade ien foar ien te kompilearjen troch op F8 -toets te drukken as jo in grutte rigel koade hawwe.

Konklúzje

Dit artikel toande jo de redenen en oplossingen fan Excel Subscript out of range flater yn VBA. Ik hoopje dat dit artikel tige foardielich foar jo west hat. Fiel jo frij om fragen te stellen oangeande it ûnderwerp.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.