Excel VBA 1004-es hiba

A VBA 1004 hiba egy olyan hiba, amelyet akkor tapasztalunk, amikor végrehajtunk egy kódot a VBA-ban. Ezt más néven VBA futásidejű hibának is nevezzük. Miközben VBA-n vagy bármilyen más programozási nyelven vagy akár mindennapi munkánkban dolgozunk, különféle hibákat tapasztalunk. Időnként még hiányzik egy karakter a kódban, ami miatt a teljes kód nem működik, vagy talán a teljes kód rossz.

A hibák határozottan részét képezik az általunk írott kódnak. Lehet, hogy nem szándékos, de léteznek. Nem számít, mennyire profi vagyunk a kódolásban, a futásidejű hibák bárhol előfordulhatnak. Amint a fent kifejtettük, a VBA 1004 hiba olyan hiba, amely a kód futási ideje alatt jelentkezik az excelben. Ezt más néven alkalmazás által definiált vagy objektum által definiált hibának hívják.

Különféle okokból származik, hogy a VBA Runtime Error 1004-et excelben kapjuk meg.

  • VBA futásidejű hiba 1004: Az '_ globális' objektum 'Range' metódusa sikertelen:

Ez a hiba akkor fordul elő, ha a VBA-ra hivatkozott tartományérték helytelen. Más néven '_ Globális' objektum „Range” metódusának nevezik.

  • 1004 VBA futási idő hiba: Az a név már be van állítva. Próbálja ki egy másikt:

Ugyanazt a nevet adjuk egy munkalapnak, amelyet egy másik munkalap már átvet.

  • VBA futásidejű hiba 1004: Nem sikerült megszerezni a Range osztály kiválasztott tulajdonságát:

Ez egy hiba, amikor egy másik munkalapon tartományt választunk anélkül, hogy aktiválnánk az általunk hivatkozott munkalapot.

  • VBA futásidejű hiba 1004: A 'Munkafüzetek' objektum 'Megnyitás' módja sikertelen:

Ez a hiba akkor jelentkezik, amikor megpróbálunk megnyitni egy már nyitott munkafüzetet, vagy a fájlt már egy másik program használja.

  • VBA futásidejű hiba 1004: Sajnos nem található:

Ezt a hibát kapjuk, amikor megpróbálunk egy nem létező munkalapot megnyitni.

Mint megtudtuk, különböző okokból származhat futási idő. Futásidejű hiba jelentkezhet a kód bármely sorában. Meg kell tanulnunk ezeket a hibákat kezelni, és ezt nevezzük VBA hibakezelésnek.

Példa az VBA 1004 futásidejű hibára az Excel programban

Most, amikor leírtam a különböző típusú hibákat, amelyek bármilyen VBA kód futási ideje alatt előfordulhatnak, tanulmányozzuk őket, hogyan jelennek meg példákkal.

Itt letöltheti ezt a VBA 1004 Error Excel sablont - VBA 1004 Error Excel Template

VBA futásidejű hiba 1004 - 1. példa

Amint a hibáról elmagyarázták, ez a hiba akkor fordul elő, ha a VBA téves nevű tartományértékre utalunk. Ez akkor fordulhat elő, ha helyesírási hibát követünk el a megnevezett tartomány tartományára, hogy egy olyan tartományra hivatkozzunk, amely még nem létezik. Ennek igazolására készítsünk először egy megnevezett tartományt. Itt vannak a következő adatok.

  • Neveznék ezt a tábla fejlécet DATA-nak .

  • Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.

  • Nyissa meg az alfunkciót a kódírás elindításához.

Kód:

 Alminta () Alsó rész vége 

  • Hívja az általunk megnevezett fejlécet az alábbiak szerint írt kóddal.

Kód:

 Alminta () tartomány ("Adatok"). Válassza a Befejezés alpontot 

  • A kód futtatásakor az Excelben láthatjuk, hogy azt a fejléc helyes elnevezésével választottuk ki.

  • Most elmulasztottuk a fejléc nevének helyesírását.

Kód:

 Alminta () tartomány ("Dataa") Válassza az Alsó befejezése lehetőséget 

  • Futtassa újra a kódot az eredmény megjelenítéséhez.

Azért kapunk excel VBA Runtime Error 1004 hibát, mert helytelenül írtuk a tartomány nevét.

VBA futásidejű hiba 1004 - 2. példa

Ezt a hibát kapjuk, amikor megpróbálunk egy munkalapot átnevezni egy már használt névvel. Például átneveztem az 1. lapot „ Anand ” -nek, és megpróbálom átnevezni a 2. lapot ugyanazzal, majd megnézem az eredményt.

  • Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.
  • Nyisson meg egy alfunkciót a kódírás elindításához.

Kód:

 1. alminta () az al 

  • Próbálja meg átnevezni a 2. lapot Anand-ként az alábbi kóddal,

Kód:

 Alminta1 () munkalapok ("Lap2"). Név = "Anand" Vége az al 

  • Futtassa a fenti kódot, és nézze meg az eredményt.

Amikor megpróbálom átnevezni egy lapot a már elnevezett névvel, hibaüzenetet kapok.

VBA futásidejű hiba 1004 - 3. példa

Megpróbálom hozzáadni az értéket a 2. lapról a 3. lapon lévő változóra. De nem aktiválom a 2. lapot, és megnézem, mi történik.

  • Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.
  • Nyisson meg egy alfunkciót a kódírás elindításához.

Kód:

 2. alminta () az al 

  • Mutassa be két A és B változót egész számként.

Kód:

 Alminta2 () Dim A egész szám Dim B egész szám vége Sub 

  • A B változóban tárolja az A értékét a 2. lap A1 cellájában.

Kód:

 Alminta2 () Halványul A egészként Halvány B Ha egész szám B = A + Munkalapok ("Lap2"). Tartomány ("A1"). Válassza az Alsó vége parancsot 

  • Tegyük fel, hogy a kód működik, és az msgbox funkcióval jeleníti meg a B értékét.

Kód:

 Alminta2 () Felfedik A egészként Dim B Egészként B = A + Munkalapok ("Sheet2"). Tartomány ("A1"). Válassza az MsgBox B End Sub lehetőséget 

  • Futtassa a kódot a kapott eredmény megtekintéséhez.

Azért kapjuk ezt a hibát, mert nem aktiváltuk a 2. lapot, de megpróbáljuk használni a 2. lap értékét.

VBA futásidejű hiba 1004 - 4. példa

A futásidejű hibát akkor tapasztaljuk, amikor már nyitva van a munkafüzet azonos neve, de megpróbáljuk újból megnyitni.

Erre a példára már átneveztem a munkafüzetét VBA 1004 Error.xlsm-re, és megpróbálom újból megnyitni a már megnyitott, és megnézem, van-e VBA 1004 hiba.

  • Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.
  • Nyisson meg egy alfunkciót a kódírás elindításához.

Kód:

 Alminta3 () Alsó rész vége 

  • Nyilatkoztasson egy változót munkafüzetként.

Kód:

 Alminta3 () Dim A mint munkafüzet vége Sub 

Próbáljon meg megnyitni a már megnyitott munkafüzetet a következő kóddal.

Kód:

 Alminta3 () Dim A Munkafüzet-készletként wb = Workbooks.Open ("\\ VBA 1004 Error.xlsm", Csak olvasható: = Igaz, CorruptLoad: = xlExtractData) Sub befejezése 

Futtassa a fenti kódot az eredmény megtekintéséhez.

Megkapjuk ezt a hibát, mert ugyanazt a munkafüzetet már megnyitottuk.

VBA futásidejű hiba 1004 - 5. példa

Ezt a hibát kapjuk, amikor megpróbálunk egy nem létező munkafüzetet megnyitni. Ez kissé hasonló a fenti hibához, amelyet a VBA nem talál a munkafüzetben.

  • Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.
  • Nyisson meg egy alfunkciót a kódírás elindításához.

Kód:

 Alminta4 () Alsó rész vége 

  • Próbáljon meg megnyitni egy munkafüzetet a következő kóddal,

Kód:

 Alminta4 () munkafüzetek.Open Fájlnév: = "C: \ EDUCBA Tartalom \ Április \ VBA VAGY Function.xlsm" 

  • Már töröltem a lapot a helyről.
  • Futtassa a kódot az eredmény megjelenítéséhez.

Mivel a lap nem létezik az adott helyen, ezt a hibát kapjuk.

Dolgok, amikre emlékezni kell

  • Mindig ellenőrizze a helyesírási hibákat.
  • Ne nevezze át több, azonos nevű munkalapot.
  • Mielőtt bármilyen más referenciát felhívna, győződjön meg arról, hogy aktiválta a megfelelő munkalapot.
  • Mielőtt bármilyen más munkalapot megnyitna, ellenőrizze, hogy a megadott út helyes-e.

Ajánlott cikkek

Ez egy útmutató a VBA 1004 hibához. Itt az Excel VBA Runtime Error 1004-et tárgyaltuk, gyakorlati példákkal és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Adjon hozzá vagy távolítson el hibasávot az Excel programban
  2. VBA Míg a hurok | MS Excel
  3. A hibák megértése az Excel programban
  4. IFError használata a VBA-ban

Kategória: