Excel VBA pretplata izvan dometa

VBA pretplata izvan dometa ili uglavnom poznaje kao greška pri izvođenju vremena 9 događa se kada odaberemo takvu ćeliju ili list ili radnu knjižicu koja zapravo ne spada u raspon ili kriterije definirane u Excelu. To je kao da smo odabrali raspon od 100 ćelija ili stupca i pozvali smo vrijednosti pohranjene u 120 ćelija istog stupca. Što znači da idemo izvan raspona da odaberemo i pozovemo vrijednosti koje nisu u našim definiranim kriterijima. Kada se dogodi ovakva situacija, dobivamo poruku "Run-Time Error 9" tijekom sastavljanja ili pokretanja koda. VBA pretplata izvan poruke o pogrešci u opsegu vodi nas da ispravimo grešku koja je povezana s rasponom koji smo odabrali u Excelu.

Primjer pretplatničke pretplate Excel VBA izvan dometa

U nastavku su navedeni primjeri VBA pretplate izvan dometa u Excelu.

Ovdje možete preuzeti ovaj pretplatnik VBA izvan predložaka Range Excel - VBA pretplata izvan predložaka Range Excel.

VBA pretplata izvan dometa - Primjer # 1

Prvo ćemo razmotriti jednostavan primjer. Za to treba ići u VBA prozore i dodati novi modul ulaskom u opciju Umetanje, kao što je prikazano u nastavku.

Dobit ćemo bijeli prazan prozor Modula. Ovdje moramo raditi kodiranje.

Sada napišite podkategoriju izvršenih funkcija, za najbolju praksu zadržite naziv funkcije u Podkategoriji, kao što smo to ovdje radili za VBA pretplatu izvan raspona.

Kodirati:

 Sub Subscript_OutOfRange1 () Kraj Sub 

Ovdje u excelu imamo samo jedan list nazvan "Sheet1" kao što je prikazano u nastavku.

Ali napisat ćemo kôd za odabir lista koji nije ni dodan i vidjeti što se događa.

Sada idite na VBA prozor i napišite Sheets (2), a zatim odaberite funkciju Select kao što je prikazano u nastavku. Što znači, s funkcijom Select biramo slijed lista drugog položaja.

Kodirati:

 Sub Subscript_OutOfRange1 () Sheets () (2) .Select End Sub 

Sada sastavite cijeli kod ili to učinite korak po korak kako biste znali koji je dio koda greška. Kako imamo samo jednu liniju koda, kôd možemo izravno pokrenuti klikom na gumb Reproduciraj ispod trake izbornika. Dobit ćemo poruku o pogrešci koja kaže: " Pogreška u vremenu izvođenja 9, pretplata izvan dometa " u VBA kao što je prikazano u nastavku.

To pokazuje da pokušavamo odabrati onaj list koji ne postoji. Ako dodamo novi list ili promijenimo redoslijed lista u kodu s drugog na prvo, tada ćemo možda dobiti uspješno pokretanje koda. Dodajmo još jedan list i vidimo što se događa.

Sada ponovo pokrenite kod. A kako nismo vidjeli nijednu pogrešku, što znači da naš kôd završava uspješan rad.

VBA pretplata izvan dometa - primjer br. 2

U drugom primjeru opet ćemo vidjeti jednostavan kôd za aktiviranje radnog lista. Za ovo ćemo opet napisati kod. Počnite pisati Podkategoriju u nazivu izvedene funkcije ili u bilo kojem drugom nazivu kao što je prikazano u nastavku.

Kodirati:

 Sub Subscript_OutOfRange2 () Kraj Sub 

Sada ćemo uz pomoć Radnog lista aktivirati Sheet1 kao što je prikazano u nastavku.

Kodirati:

 Sub Subscript_OutOfRange2 () Radni listovi ("Sheet1"). Aktiviraj Kraj Sub 

Sada sastavite kompletan kod i pokrenite. Primijetit ćemo da nije iskočena poruka o pogrešci, što znači da je pokretanje koda uspješno. Sad stavimo razmak između "lista 1"

Opet sastaviti i pokrenuti kod.

Kao što vidimo gore, čak i ako je naš cjelovit postupak i način pisanja koda ispravan, ali smo u ispravnom nazivu lista uzeli „Sheet 1“. Koji u stvarnosti nema prostora između "Sheet1".

To pokazuje da još uvijek postoje šanse za pogrešku ako ne napišete ili ne napišete ispravno ime lista ili naziv radne knjižice.

VBA pretplata izvan dometa - Primjer # 3

U ovom ćemo primjeru vidjeti kako odabir neispravnog raspona Array može stvoriti i prikazati pogrešku izvođenja. Počnite ponovo pisati potkategoriju u ime izvedene funkcije kao što je prikazano u nastavku.

Kodirati:

 Sub Subscript_OutOfRange3 () Kraj Sub 

Sada uz pomoć DIM-a definirajte niz bilo koje veličine i daje ga Stringu ili Integerima. Što ovisi o tome što želimo pohraniti u Niz, brojeve ili tekst.

Ovdje smo razmotrili niz od 2 × 3 kao String kao što je prikazano u nastavku.

Kodirati:

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

Na ovaj način će se formirati tablica za 2 reda i 3 stupca i možemo pohraniti bilo koje vrijednosti prema našim potrebama. Kako smo odabrali string, tada ćemo razmotriti tekst ili alfabete u njemu.

Sada u drugom retku koda odaberite stvoreni niz, ali s dodatnim ili više stupaca i dodijelite tekst kao ABC ili bilo koji drugi tekst po vašem izboru. Ovdje smo odabrali Niz 2 × 5 kao što je prikazano u nastavku.

Kodirati:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) Kao string string SubArray (2, 5) = ABC Kraj Sub 

Sada sastavite i pokrenite kod. Kao što možemo vidjeti na snimci zaslona ispod, dobili smo VBA pretplatu izvan poruke o pogrešci raspona greške 9.

Razlog za dobivanje ove pogreške je zato što smo odabrali neispravan raspon Array u 2 dodatna stupca od 2 × 3 do 2 × 5, što je izvan ograničenja koda. Sada ako opet odaberemo ispravan raspon polja kao 2 × 3 i vidimo što se događa.

Nakon sastavljanja i pokretanja koda. Vidjet ćemo da nismo dobili nijednu pogrešku, što znači da je pokrenut kod bio uspješan.

Prednosti Excel VBA pretplate izvan dometa

  • VBA pretplata izvan dometa omogućava nam saznati kakva se greška dogodila. Kako bismo konkretno mogli pronaći rješenje dobivenog koda pogreške.
  • Kako je VBA pretplata izvan raspona, 'Pogreška u vremenu trajanja 9' vrlo je korisna u saznanju kakve je greške došlo u excelu.

Stvari koje treba zapamtiti

  • Preporučuje se upotreba potkategorije u nazivu izvedene funkcije s nizom koda kako bi se bilo lako pravilno pratiti.
  • Spremite datoteku kao radnu knjigu koja uključuje makronaredbu da ne biste izgubili pisani kôd.
  • Ako imate ogromne redove koda, onda je bolje sastaviti jedan red po jedan pritiskom na tipku F8. Ova metoda sastavlja svaki korak koda tako da možemo prvo znati koji dio koda zapravo ima grešku pri prvom pokretu.

Preporučeni članci

Ovo je vodič za Excel VBA pretplatu izvan dometa. Ovdje smo raspravljali zbog čega dolazi do pogreške VBA pretplate izvan dometa (Pogreška pri izvođenju vremena 9), zajedno s nekim praktičnim primjerima i besplatnim Excelovim predloškom. Možete i pregledati naše druge predložene članke -

  1. Kako ispraviti pogrešku VBA 1004?
  2. Razumijevanje pogrešaka u Excelu
  3. Kompletan vodič za VBA o pogrešci
  4. Korištenje IFERROR Excel funkcije

Kategorija: