Excel VBA Naročnik zunaj dosega

Naročnik VBA zunaj dosega ali večinoma pozna kot »napaka med izvajanjem« se zgodi, ko izberemo takšno celico ali list ali delovni zvezek, ki dejansko ne spada pod obseg ali merila, določena v Excelu. Kot da smo izbrali obseg 100 celic ali stolpec in priklicali smo vrednosti, shranjene v 120 celicah istega stolpca. Kar pomeni, da gremo izven dosega in izberemo vrednosti, ki niso v naših opredeljenih merilih. Ko se zgodi takšna situacija, med prevajanjem ali izvajanjem kode dobimo sporočilo »Run-Time Error 9«. Sporočilo o napaki VBA izven območja napake nas usmerja k odpravi napake, ki je povezana z obsegom, ki smo ga izbrali v Excelu.

Primer Excel VBA Naročnika zunaj dosega

Spodaj so različni primeri VBA Naročnika zunaj dosega v Excelu.

Tu naročnino VBA iz predloge Range Excel lahko prenesete tukaj - Naročnik VBA izven predloge Range Excel

Naročnik VBA zunaj dosega - Primer 1

Najprej bomo razmislili o preprostem primeru. Za to moramo iti v okna VBA in dodati nov modul, tako da odpremo možnost Vstavi meni, kot je prikazano spodaj.

Dobili bomo belo prazno okno Modula. Tukaj moramo opraviti kodiranje.

Zdaj napišite podkategorijo izvedene funkcije, za najboljšo prakso ime funkcije v Podkategoriji, kot smo to storili za VBA Naročnik izven obsega.

Koda:

 Sub Subscript_OutOfRange1 () End Sub 

V Excelu imamo samo en list, imenovan „Sheet1“, kot je prikazano spodaj.

Toda napisali bomo kodo, da bomo izbrali list, ki sploh ni dodan, in videli, kaj se zgodi.

Zdaj pojdite v okno VBA in napišite liste (2), ki jim sledi Izberi funkcijo, kot je prikazano spodaj. Kar pomeni, da s funkcijo Select izbiramo zaporedje listov drugega položaja.

Koda:

 Sub Subscript_OutOfRange1 () Listi (2) .Izberite End Sub 

Zdaj sestavite celotno kodo ali naredite korak za korakom, da veste, v katerem delu kode je napaka. Ker imamo samo eno vrstico kode, lahko neposredno zaženemo kodo s klikom na gumb za predvajanje pod menijsko vrstico. V VBA, kot je prikazano spodaj, bomo prejeli sporočilo o napaki, ki pravi » Napaka med izvajanjem 9, naročnik zunaj dosega «.

To kaže, da poskušamo izbrati tisto listo, ki ne obstaja. Če dodamo nov list ali spremenimo zaporedje listov v kodi z 2. na 1., bomo morda dobili uspešno izvedbo kode. Dodajmo še en list in poglejmo, kaj se zgodi.

Zdaj zaženite kodo. In ker nismo videli nobene napake, kar pomeni, da naša koda zaključi uspešen potek.

Naročnik VBA zunaj dosega - Primer # 2

V drugem primeru bomo znova videli preprosto kodo aktiviranja delovnega lista. Za to bomo spet napisali kodo. Podkategorijo začnite pisati v imenu izvedene funkcije ali v katerem koli drugem imenu, kot je prikazano spodaj.

Koda:

 Sub Subscript_OutOfRange2 () End Sub 

Zdaj bomo s pomočjo Delovnega lista aktivirali Sheet1, kot je prikazano spodaj.

Koda:

 Sub Subscript_OutOfRange2 () Delovni listi ("Sheet1"). Aktiviraj End Sub 

Zdaj sestavite celotno kodo in zaženite. Opazili bomo, da ni prišlo nobeno sporočilo o napaki, kar pomeni, da je zagon kode uspešen. Zdaj pa postavimo prostor med "Sheet 1"

Spet sestavite in zaženite kodo.

Kot lahko vidimo zgoraj, tudi če je naš celoten postopek in način pisanja kode pravilen, vendar smo pravilno ime lista sprejeli kot "Sheet 1". Kar v resnici nima prostora med "Sheet1".

To kaže, da še vedno obstajajo možnosti, da pride do napake, če ne napišete ali napišete pravilnega imena lista ali imena delovnega zvezka.

Naročnik VBA zunaj dosega - Primer # 3

V tem primeru bomo videli, kako lahko izbira napačnega niza Array ustvari in prikaže napako med izvajanjem 9. Ponovno napišite podkategorijo v imenu izvedene funkcije, kot je prikazano spodaj.

Koda:

 Sub Subscript_OutOfRange3 () End Sub 

Zdaj s pomočjo DIM-a določite matriko poljubne velikosti in jo damo String ali Integers. Kar je odvisno, kaj želimo shraniti v Array, številke ali besedilo.

Tu smo obravnavali niz 2 × 3 kot String, kot je prikazano spodaj.

Koda:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) Kot String End Sub 

S tem bo oblikoval tabelo za 2 vrstice in 3 stolpce in lahko shranimo poljubne vrednosti glede na naše potrebe. Kot smo izbrali String, bomo v njej upoštevali besedilo ali abecede.

Zdaj v drugi vrstici kode izberite ustvarjeno matriko, vendar z dodatnim ali več stolpcem in dodelite besedilo kot ABC ali katero koli drugo besedilo po vaši izbiri. Tu smo izbrali matriko 2 × 5, kot je prikazano spodaj.

Koda:

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

Zdaj sestavite in zaženite kodo. Kot lahko vidimo na spodnjem posnetku zaslona, ​​smo dobili VBA Naročnik zunaj sporočila o napaki v območju Range error 9.

Razlog za to napako je zato, ker smo izbrali napačen razpon Array v 2 dodatnih stolpcih od 2 × 3 do 2 × 5, kar je preko meje kode. Zdaj, če ponovno izberemo pravi razpon matrike kot 2 × 3 in vidimo, kaj se zgodi.

Po sestavljanju in zagonu kode. Videli bomo, da nismo prejeli nobene napake, kar pomeni, da je bil zagon kode uspešen.

Prednosti naročnika Excel VBA izven dosega

  • Naročnik VBA izven dosega nam omogoča, da vemo, kakšna napaka se je zgodila. Tako da lahko konkretno najdemo rešitev dobljene kode napake.
  • Ker je predpisnik VBA zunaj dosega, je 'Napaka med izvajanjem 9' zelo koristna, če veste, kakšna napaka se je zgodila v excelu.

Stvari, ki jih je treba zapomniti

  • Priporočljivo je, da v imenu izvedene funkcije uporabite podkategorijo z zaporedjem kode, da bi jo bilo enostavno pravilno slediti.
  • Shranite datoteko kot delovni zvezek z makro omogočenim, da ne izgubite zapisane kode.
  • Če imate ogromno vrstic kode, je bolje, da vsako kodo sestavite eno za drugo s pritiskom na tipko F8. Ta metoda sestavi vsak korak kode, tako da lahko neposredno vemo, kateri del kode ima napako že na prvi poti.

Priporočeni članki

To je vodnik za Excel VBA Naročnik izven območja. Tu smo razpravljali, zakaj pride do napake VBA Naročnik zunaj dometa (napaka med izvajanjem) in nekaj praktičnih primerov in naložljive predloge Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kako odpraviti napako VBA 1004?
  2. Razumevanje napak v Excelu
  3. Popoln vodnik za napako VBA
  4. Uporaba funkcije IFERROR Excel

Kategorija: