Chyba VBA aplikace Excel 1004

Chyba VBA 1004 je chyba, se kterou se setkáváme při provádění kódu ve VBA, je také známá jako chyba VBA Runtime. Zatímco pracujeme ve VBA nebo v jakémkoli jiném programovacím jazyce nebo dokonce v naší každodenní práci, setkáváme se s různými druhy chyb. Někdy dokonce chybí jeden znak v kódu, který způsobí, že celý kód nebude fungovat, nebo je celý kód špatný.

Chyby jsou určitě součástí kódu, který píšeme. Může to být neúmyslné, ale existují. Bez ohledu na to, jak jsme v kódování, může se runtime chyba objevit kdekoli. Jak je vysvětleno výše, chyba VBA 1004 je chyba, ke které dochází během běhu kódu v Excelu. Nazývá se také chyba definovaná aplikací nebo objektem.

Existuje několik typů důvodů, proč dostáváme chybu VBA Runtime Error 1004 v Excelu, naučme se několik z nich.

  • Chyba VBA Runtime 1004: Metoda 'Range' objektu '_ Global' se nezdařila:

K této chybě dochází, když je hodnota rozsahu, na kterou odkazujeme, VBA nesprávná. Nazývá se také jako metoda „Range“ objektu '_ Global' selhala.

  • Chyba VBA běhového času 1004: Toto jméno je již přijato. Zkuste jiný:

Stejné jméno dáme listu, který již obsahuje jiný list.

  • Chyba VBA Runtime 1004: Nelze získat vlastnost select třídy Range:

Toto je chyba, když vybereme rozsah v jiném listu bez aktivace listu, na který odkazujeme.

  • Chyba VBA Runtime 1004: Metoda 'Otevřít' objektu 'Sešity' se nezdařila:

K této chybě dochází, když se pokusíme otevřít sešit, který je již otevřený nebo soubor již používá jiný program.

  • Chyba VBA Runtime 1004: Litujeme, ale nemohli jsme najít:

Tuto chybu dostaneme, když se pokusíme otevřít pracovní list, který neexistuje.

Jak jsme se dozvěděli, může dojít k různým důvodům, proč se vyskytuje chyba runtime. K chybě runtime může dojít na kterémkoli řádku kódu. Musíme se naučit, jak se naučit zvládat tyto chyby, a nazývá se to VBA Error Handling.

Příklad chyby VBA Runtime 1004 v Excelu

Nyní, když jsem popsal různé typy chyb, ke kterým může dojít během běhu libovolného kódu VBA, se nyní naučíme, jak se objevují na příkladech.

Tuto šablonu VBA 1004 Error Excel si můžete stáhnout zde - VBA 1004 Error Excel Template

Chyba VBA Runtime 1004 - Příklad č. 1

Jak je vysvětleno o této chybě, k této chybě dochází, když odkazujeme na nesprávně pojmenovanou hodnotu rozsahu ve VBA. K tomu může dojít, pokud uděláme pravopisnou chybu pojmenovaného rozsahu a odkazujeme na rozsah, který vůbec neexistuje. Abychom to dokázali, vytvořme nejprve pojmenovanou řadu. Mám zde následující údaje.

  • Pojmenujte tuto hlavičku tabulky jako DATA .

  • Přejděte na kartu Vývojář a klikněte na Visual Basic pro otevření editoru VB.

  • Chcete-li začít psát kód, deklarujte podfunkci.

Kód:

 Vzorek () Konec Sub 

  • Vyvolejte záhlaví, které jsme pojmenovali následujícím kódem napsaným níže.

Kód:

 Rozsah dílčího vzorku () („Data“). Vyberte End Sub 

  • Když spustíme kód, uvidíme v Excelu, že byl vybrán, protože jsme správně nazvali hlavičku.

  • Nyní překlepeme pravopis názvu záhlaví.

Kód:

 Rozsah dílčího vzorku () („Dataa“). Vyberte End Sub 

  • Spusťte kód znovu a uvidíte výsledek.

Dostali jsme vynikající chybu VBA Runtime Error 1004, protože jsme nesprávně napsali název rozsahu.

Chyba VBA Runtime 1004 - Příklad č. 2

Tato chyba se zobrazí, když se pokusíme přejmenovat list s názvem, který je již pojmenován. Například jsem přejmenoval list 1 na „ Anand “ a pokusím se přejmenovat list 2 stejným způsobem, než uvidím výsledek.

  • Přejděte na kartu Vývojář a klikněte na Visual Basic pro otevření editoru VB.
  • Chcete-li začít psát kód, deklarujte podfunkci.

Kód:

 Dílčí vzorek1 () Koncový díl 

  • Zkuste přejmenovat list 2 jako Anand pomocí následujícího kódu,

Kód:

 Sub Sample1 () Pracovní listy ("List2"). Název = "Anand" End Sub 

  • Spusťte výše uvedený kód a podívejte se na výsledek.

Když se pokusím přejmenovat list se jménem, ​​které již bylo přijato, dostanu chybu.

Chyba VBA Runtime 1004 - Příklad č. 3

Pokusím se přidat hodnotu z listu 2 do proměnné v listu 3. Ale neaktivuji list 2 a uvidím, co se stane.

  • Přejděte na kartu Vývojář a klikněte na Visual Basic pro otevření editoru VB.
  • Chcete-li začít psát kód, deklarujte podfunkci.

Kód:

 Dílčí vzorek2 () Koncový díl 

  • Deklarujte dvě proměnné A a B jako celé číslo.

Kód:

 Dílčí vzorek2 () Dim A jako celé číslo Dim B jako celé číslo Sub 

  • Do proměnné B uložte hodnotu A kromě buňky A1 listu 2.

Kód:

 Dílčí vzorek2 () Dim A jako celé číslo Dim B jako celé číslo B = Pracovní listy A + ("List2"). Rozsah ("A1"). Vyberte End Sub 

  • Předpokládejme, že kód funguje a pomocí funkce msgbox zobrazte hodnotu B.

Kód:

 Dílčí vzorek2 () Dim A jako celé číslo Dim B jako celé číslo B = Pracovní listy A + ("List2"). Rozsah ("A1"). Vyberte MsgBox B End Sub 

  • Spusťte kód a podívejte se na dosažený výsledek.

Tuto chybu dostáváme, protože jsme neaktivovali list 2, ale snažíme se použít hodnotu listu 2.

Chyba VBA Runtime 1004 - Příklad č. 4

K této chybě runtime dochází, když již máme stejný název sešitu otevřený, ale pokusíme se jej znovu otevřít.

V tomto příkladu jsem již přejmenoval svůj sešit na VBA 1004 Error.xlsm a pokusím se jej znovu otevřít, což je již otevřené a uvidím, jestli dostanu chybu VBA 1004.

  • Přejděte na kartu Vývojář a klikněte na Visual Basic pro otevření editoru VB.
  • Chcete-li začít psát kód, deklarujte podfunkci.

Kód:

 Sub Sample3 () Konec Sub 

  • Deklarovat proměnnou jako sešit.

Kód:

 Dílčí vzorek3 () Dim A jako konec sešitu Sub 

Zkuste otevřít sešit, který jsme právě otevřeli, pomocí následujícího kódu.

Kód:

 Sub Sample3 () Dim A jako sada sešitů wb = Workbooks.Open ("\\ VBA 1004 Error.xlsm", ReadOnly: = True, CorruptLoad: = xlExtractData) End Sub 

Spustením výše uvedeného kódu zobrazíte výsledek.

Tato chyba se zobrazí, protože jsme již otevřeli stejný sešit.

Chyba VBA Runtime 1004 - Příklad č. 5

Tato chyba se zobrazí, když se pokusíme otevřít sešit, který neexistuje. To je poněkud podobné výše uvedené chybě, kterou dostáváme, protože VBA nemůže najít sešit.

  • Přejděte na kartu Vývojář a klikněte na Visual Basic pro otevření editoru VB.
  • Chcete-li začít psát kód, deklarujte podfunkci.

Kód:

 Dílčí vzorek4 () Koncový díl 

  • Zkuste otevřít libovolný sešit s následujícím kódem,

Kód:

 Sub Sample4 () Workbooks.Open Název souboru: = "" C: \ EDUCBA Content \ April \ VBA OR Function.xlsm "End Sub 

  • List jsem už z místa odstranil.
  • Spusťte kód a uvidíte výsledek.

Protože list na daném místě neexistuje, dostáváme tuto chybu.

Co si pamatovat

  • Vždy zkontrolujte, zda nedošlo k pravopisným chybám.
  • Přejmenujte více listů se stejným názvem.
  • Než zavoláte jakýkoli jiný odkaz, nezapomeňte aktivovat příslušný list.
  • Před pokusem o otevření jakéhokoli jiného listu se ujistěte, že je zadaná cesta správná.

Doporučené články

Toto byl průvodce chybou VBA 1004. Zde jsme diskutovali Excel VBA Runtime Error 1004 spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Přidat nebo odebrat panel chyb v Excelu
  2. VBA při opakování | MS Excel
  3. Porozumění chybám v Excelu
  4. Použití IFError ve VBA

Kategorie: