Excel VBA index mimo rozsah

VBA Subscript mimo rozsah, nebo hlavně ví, že za běhu chyba 9 se stane, když vybereme takové buňky nebo listu nebo sešitu, který ve skutečnosti nespadá do rozsahu nebo kritérií definovaných v Excelu. Je to, jako bychom vybrali rozsah 100 buněk nebo sloupec a vyvolali jsme hodnoty uložené ve 120 buňkách stejného sloupce. Což znamená, že jdeme mimo rozsah, abychom vybrali a vyvolali hodnoty, které nejsou v našich definovaných kritériích. Pokud k takové situaci dojde, při kompilaci nebo spuštění kódu se zobrazí zpráva „Chyba za běhu 9“. Chybová zpráva VBA Subscript mimo rozsah nás vede k opravě chyby, která souvisí s rozsahem, který jsme vybrali v Excelu.

Příklad předplatného Excel VBA mimo rozsah

Níže jsou uvedeny různé příklady VBA Subscript mimo rozsah v Excelu.

Tento VBA Subscript si můžete stáhnout mimo šablonu Range Excel zde - VBA Subscript mimo Range Excel šablonu

VBA index mimo rozsah - Příklad č. 1

Nejprve se podíváme na jednoduchý příklad. Z tohoto důvodu musíme přejít do oken VBA a přidat nový modul pomocí možnosti Vložit nabídku, jak je ukázáno níže.

Dostaneme bílé prázdné okno modulu. Zde potřebujeme práci s kódováním.

Nyní pište podkategorii provedené funkce, pro nejlepší praxi udržujte název funkce v podkategorii, jako jsme to udělali zde pro VBA Subscript mimo rozsah.

Kód:

 Sub Subscript_OutOfRange1 () End Sub 

Zde v Excelu máme pouze jeden list s názvem „List1“, jak je uvedeno níže.

Ale napíšeme kód pro výběr listu, který se nepřidá a uvidíme, co se stane.

Nyní přejděte do okna VBA a napište Listy (2) následované funkcí Select, jak je ukázáno níže. Což znamená, že volíme sekvenci listů na 2. pozici pomocí funkce Select.

Kód:

 Sub Subcript_OutOfRange1 () Listy (2) .Vyberte End Sub 

Nyní zkompilujte celý kód nebo to krok za krokem zjistěte, která část kódu je chyba. Protože máme pouze jeden řádek kódu, můžeme jej přímo spustit kliknutím na tlačítko Přehrát pod nabídkou. Ve VBA se zobrazí chybová zpráva „Chyba za běhu 9, index mimo rozsah “, jak je ukázáno níže.

To ukazuje, že se pokoušíme vybrat ten list, který neexistuje. Pokud přidáme nový list nebo změníte sekvenci listů v kódu z 2. na 1., můžeme získat úspěšné spuštění kódu. Pojďme přidat další list a uvidíme, co se stane.

Nyní znovu spusťte kód. A protože jsme neviděli žádnou chybu, znamená to, že náš kód dokončí úspěšný běh.

VBA index mimo rozsah - Příklad č. 2

V dalším příkladu znovu uvidíme jednoduchý kód aktivace listu. Z tohoto důvodu znovu napíšeme kód. Začněte psát podkategorii na jméno prováděné funkce nebo na jakékoli jiné jméno, jak je ukázáno níže.

Kód:

 Sub Subscript_OutOfRange2 () End Sub 

Nyní pomocí listu aktivujeme List1, jak je ukázáno níže.

Kód:

 Sub Subscript_OutOfRange2 () Listy ("List1"). Aktivace End Sub 

Nyní sestavte celý kód a spusťte. Všimneme si, že se neobjevila žádná chybová zpráva, což znamená, že běh kódu je úspěšný. Nyní vložme mezeru mezi „List 1“

Znovu kompilovat a spustit kód.

Jak vidíme výše, i když náš úplný proces a způsob psaní kódu jsou správné, ale název listu jsme vybrali jako „List 1“. Což ve skutečnosti mezi prostorem „List1“ nemá mezeru.

To ukazuje, že stále existuje šance na získání chyby, pokud nevyslovíte ani nenapíšete správný název listu nebo název sešitu.

VBA index mimo rozsah - Příklad č. 3

V tomto příkladu uvidíme, jak výběr nesprávného rozsahu pole může vytvořit a ukázat run-time error 9. Začněte psát Subcategory znovu v názvu prováděné funkce, jak je ukázáno níže.

Kód:

 Sub Subscript_OutOfRange3 () End Sub 

Nyní pomocí DIM definujte Array libovolné velikosti a dává ji String nebo Celá čísla. To záleží na tom, co chceme uložit do pole, čísel nebo textu.

Zde jsme považovali řadu 2 × 3 za řetězec, jak je ukázáno níže.

Kód:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) jako řetězec End Sub 

Tím vytvoří tabulku pro 2 řádky a 3 sloupce a můžeme ukládat libovolné hodnoty podle naší potřeby. Když jsme vybrali řetězec, budeme v něm brát v úvahu text nebo abecedy.

Nyní ve druhém řádku kódu vyberte vytvořené pole, ale s extra nebo více sloupcem a přiřaďte text jako ABC nebo jakýkoli jiný text podle vašeho výběru. Zde jsme vybrali pole 2 × 5, jak je ukázáno níže.

Kód:

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

Nyní zkompilujte a spusťte kód. Jak vidíme na níže uvedeném snímku obrazovky, dostali jsme VBA Subscript mimo rozsah chybová zpráva chyby za běhu 9.

Důvodem získání této chyby je to, že jsme vybrali nesprávný rozsah pole ve 2 sloupcích navíc od 2 × 3 do 2 × 5, což je nad limit kódu. Nyní, pokud opět vybereme správný rozsah pole jako 2 × 3 a uvidíme, co se stane.

Po kompilaci a spuštění kódu. Uvidíme, že jsme neobdrželi žádnou chybu, což znamená, že náš běh kódu byl úspěšný.

Výhody Excel VBA předplatného mimo rozsah

  • VBA Subscript mimo rozsah nám umožňuje vědět, jaký druh chyby se stalo. Abychom mohli konkrétně najít řešení získaného chybového kódu.
  • Protože index VBA je mimo rozsah „Chyba 9 za běhu“, je docela užitečné vědět, jaký druh chyby se ve Excelu vyskytl.

Co si pamatovat

  • Doporučuje se používat název podkategorie s provedenou funkcí se sekvencí kódu, aby bylo snadné ji správně sledovat.
  • Uložte soubor jako Macro-Enabled Workbook, aby nedošlo ke ztrátě psaného kódu.
  • Pokud máte obrovské řádky kódu, je lepší zkompilovat každý řádek kódu jeden po druhém stisknutím klávesy F8. Tato metoda zkompiluje každý krok kódu, takže můžeme přímo vědět, která část kódu má chybu na prvním místě.

Doporučené články

Toto byl průvodce Excel VBA Subscript mimo rozsah. Zde jsme diskutovali o tom, proč se vyskytuje chyba VBA Subscript mimo rozsah (Run-time Error 9) spolu s některými praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. Jak opravit chybu: VBA 1004
  2. Porozumění chybám v Excelu
  3. Kompletní průvodce VBA při chybě
  4. Použití funkce IFERROR Excel

Kategorie: