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 TemplateVBA 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 -
- Adjon hozzá vagy távolítson el hibasávot az Excel programban
- VBA Míg a hurok | MS Excel
- A hibák megértése az Excel programban
- IFError használata a VBA-ban