Excel VBA feliratkozás a tartományon kívül

A VBA-feliratkozás tartományon kívül esik, vagy főként úgy nevezik, mint a Run-Time Error 9 akkor fordul elő, amikor olyan cellát vagy lapot vagy munkafüzetet választunk ki, amely valójában nem tartozik az Excelben meghatározott tartományba vagy kritériumba. Olyan, mintha kiválasztottuk a 100 cellát vagy az oszlopot, és kihívtuk az ugyanazon oszlop 120 cellájában tárolt értékeket. Ami azt jelenti, hogy a tartományon kívül esünk, hogy kiválasszuk és kihívjuk azokat az értékeket, amelyek nem tartoznak a meghatározott kritériumunkba. Amikor ilyen helyzet fordul elő, akkor a „Run-Time Error 9” üzenetet kapunk a kód lefordítása vagy futtatása közben. A VBA-feliratkozás tartományon kívüli hibaüzenet arra vezet, hogy orvosoljuk a hibát, amely az Excelben kiválasztott tartományhoz kapcsolódik.

Példa az Excel VBA feliratkozásra a tartományon kívül

Az alábbiakban bemutatjuk a VBA feliratkozás különféle példáit az Excel tartományán kívül.

Itt töltheti le a VBA feliratkozást a Range Excel sablonból - a VBA Subscript a Range Excel sablonból kívül

VBA feliratkozás a tartományon kívül - 1. példa

Először megvizsgálunk egy egyszerű példát. Ehhez be kell lépnünk a VBA ablakaiba és új modult kell felvennünk az Insert menübe az alábbi ábra szerint.

Megkapunk egy fehér üres ablakot a modulból. Itt kell kódolási munkát végeznünk.

Írja be a végrehajtott függvény alkategóriáját, a legjobb gyakorlat érdekében tartsa meg a függvény nevét az alkategóriában, ahogyan ezt a VBA-felirat esetében is a tartományon kívül tartottuk.

Kód:

 Sub Subscript_OutOfRange1 () Sub 

Itt, kiválóan, csak egy „Sheet1” elnevezésű lapunk van, az alább látható módon.

De megírunk egy kódot, hogy kiválasszunk egy lapot, amelyet még nem adtak hozzá, és megnézzük, mi történik.

Most menjen a VBA ablakba, és írja a Sheets (2) elemet, majd válassza a Select funkciót az alább látható módon. Ami azt jelenti, hogy a 2. pozíció lapszekvenciáját választjuk a Select funkcióval.

Kód:

 Sub Subscript_OutOfRange1 () lapok (2) .Válasszuk a Befejezés végét 

Most fordítsa le a teljes kódot, vagy hajtsa végre lépésről lépésre, hogy megtudja, melyik kód hibája. Mivel csak egy sornyi kódunk van, közvetlenül a kód futtatásához kattintson a menüsor alatti lejátszás gombra. Az alább látható módon a VBA-n „ 9-es futási hiba, az index nem a tartományon belülhibaüzenetet kapunk .

Ez azt mutatja, hogy megpróbáljuk kiválasztani azt a lapot, amely nem létezik. Ha új lapot adunk hozzá, vagy megváltoztatjuk a lapszekvenciát kódként 2-ről 1-re, akkor sikeres kódfutást kaphatunk. Adjunk hozzá egy újabb lapot, és nézzük meg, mi történik.

Most futtassa újra a kódot. És mivel nem látott hibát, az azt jelenti, hogy kódunk fejezi be a sikeres futtatást.

VBA feliratkozás a tartományon kívül - 2. példa

Egy másik példában ismét látni fogjuk a Munkalap aktiválásának egyszerű kódját. Ehhez ismét megírjuk a kódot. Indítsa el az alkategóriát egy végrehajtott függvény nevében vagy bármely más névben, az alább látható módon.

Kód:

 Sub Subscript_OutOfRange2 () Sub 

Most a Munkalap segítségével aktiváljuk a 1. lapot az alábbiak szerint.

Kód:

 Sub Subscript_OutOfRange2 () munkalapok ("1. lap"). 

Most fordítsa le a teljes kódot, és futtassa. Észre fogjuk venni, hogy nem lépett fel felbukkanó hibaüzenet, ami azt jelenti, hogy a kód futtatása sikeres. Tegyük a helyet az „1. ​​lap” közé

Ismét fordítsa le és futtassa a kódot.

Mint láthatjuk a fentiekből, akkor is, ha a folyamat teljes folyamata és a kódírás módja helyes, de a helyes lapon neveztük „1. lap” -nak. Amelynek valójában nincs helye a „1. lap” között.

Ez azt mutatja, hogy továbbra is előfordulhat hiba, ha hibát nem írsz vagy írsz helyes lapnevet vagy munkafüzet nevét.

VBA feliratkozás a tartományon kívül - 3. példa

Ebben a példában láthatjuk, hogy a helytelen tömbtartomány kiválasztása miként hozhat létre és jeleníthet meg futásidejű hibát. 9. Indítsa el újra az alkategóriák írását a végrehajtott függvény nevében, az alább látható módon.

Kód:

 Sub Subscript_OutOfRange3 () Sub 

A DIM segítségével definiáljon bármilyen méretű tömböt, és megadja azt Stringnek vagy egész számoknak. Amely attól függ, hogy mit akarunk tömbben, számokat vagy szöveget tárolni.

Itt egy 2 × 3 tömböt vettünk fontként, az alább látható módon.

Kód:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) Karakterlánc végként 

Ezzel táblát képez 2 sorra és 3 oszlopra, és bármilyen értéket tárolhatunk igényeink szerint. Mivel a Karakterláncot választottuk, akkor megvizsgáljuk a szöveget vagy az ábécét.

Most a kód második sorában válassza ki a létrehozott tömböt, de egy vagy több oszloppal, és rendeljen hozzá egy szöveget ABC-ként, vagy bármilyen más szöveget a választása szerint. Itt 2 x 5 tömböt választottunk az alább látható módon.

Kód:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) String SubArray (2, 5) = ABC End Sub 

Most fordítsa le és futtassa a kódot. Ahogy az alábbi képernyőképen láthatjuk, a VBA-előfizetés a 9. futási idő hibahatáron kívüli hibaüzenetet kapott.

Ennek a hibanek az oka az, hogy hibás tömbtartományt választottunk 2 extra oszlopban 2 × 3 és 2 × 5 között, ami meghaladja a kódhatárt. Ha újból kiválasztjuk a tömb megfelelő tartományát 2 × 3-ra, és megnézjük, mi történik.

A kód lefordítása és futtatása után. Látni fogjuk, hogy nem kaptunk hibát, ami azt jelenti, hogy a kód futtatása sikeres volt.

Az Excel VBA felirat előnyei a tartományon kívül esnek

  • A tartományon kívüli VBA feliratkozás lehetővé teszi számunkra, hogy megtudjuk, milyen hiba történt. Annak érdekében, hogy kifejezetten megtaláljuk a kapott hibakód megoldását.
  • Mivel a VBA felirat a '9-es futási hiba' tartományon kívül esik, nagyon hasznos annak ismeretében, hogy milyen hiba történt az excel-ben.

Dolgok, amikre emlékezni kell

  • Javasoljuk, hogy az alkategóriát használja a végrehajtott függvény nevében egy kódsorral, hogy könnyedén nyomon lehessen követni azt.
  • Mentse el a fájlt makro-engedélyezett munkafüzetként, hogy elkerülje az írott kód elvesztését.
  • Ha hatalmas kódsorok vannak, akkor jobb, ha az egyes kódsorokat egyenként összeállítja az F8 billentyű megnyomásával. Ez a módszer lefordítja a kód egyes lépéseit, így közvetlenül megtudhatjuk, hogy a kód melyik részén van a hiba az első lépésben.

Ajánlott cikkek

Ez egy útmutató az Excel VBA feliratkozáshoz, hatótávolságon kívül. Itt megvitattuk, hogy miért fordul elő a VBA Subscript tartományon kívüli hiba (9. futási idő hiba), néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Hogyan javítsunk ki: VBA 1004 hibát?
  2. A hibák megértése az Excel programban
  3. Teljes útmutató a hibás VBA-hoz
  4. Az IFERROR Excel függvény használata

Kategória: