Jelenségek
A Microsoft Office Excelben előfordulhat, hogy a munkalap vagy munkafüzet mögött található Microsoft Visual Basic for Application (VBA) makrókód nem működik megfelelően.
A probléma oka
Ez akkor fordul elő, ha az alábbi feltételek mindegyike teljesül:
-
A szóban forgó kód egy automatikusan futó alrutinban található, például egy Auto_Open vagy Auto_Close alrutinban.
-
A kód nem szerepel a Visual Basic modulban, hanem egy munkalap vagy maga a munkafüzet mögött.
Kerülő megoldás
Ahhoz, hogy az automatikusan futó alrutinok megfelelően működjenek a Microsoft Excelben, egy Visual Basic-modulban kell tárolni őket.Be kell szúrnia egy Visual Basic modult a munkafüzetbe, majd el kell helyeznie a kódot az új modulban.Visual Basic-modul beszúrása:
-
A Visual Basic Editor Projektböngészőjében aktiválja a kérdéses kódot tartalmazó munkafüzetet.
-
A Beszúrás menüben kattintson a Modul elemre.
Az új modul beszúrása után vágja ki a kódot az eredeti helyről, és illessze be a Visual Basic modulba. Ezután mentse a munkafüzetet.
További információ
Az Excelben a VBA-kód három különböző helyen tárolható: egy Visual Basic modulban, egy Visual Basic osztálymodulban, valamint a munkalapok és munkafüzetek mögött.Munkalap vagy munkafüzet mögötti kód szerkesztése:
-
Aktiválja a Visual Basic Editort (nyomja le az ALT+F11 billentyűkombinációt).
-
A Project Explorer ablakban az alábbihoz hasonló bejegyzések jelennek meg:
VBAProject (Book1)
Microsoft Excel Objects
Sheet1 (Sheet1)
Sheet2 (Sheet2)
Sheet3 (Sheet3)
ThisWorkbook
Modules
Module1
Ha duplán kattint az egyik munkalap nevére vagy a ThisWorkbook kifejezésre, beírhatja a kódot a kódablakba. A Visual Basic-modulban nem található ilyen kód a munkalap mögöttinek minősül, vagy Ez a Munkakönyv.Ha egy Auto_Open, Auto_Close vagy más, automatikusan futó alrutin egy munkalap vagy Ez a Munkafüzet mögött található, előfordulhat, hogy nem működik megfelelően a munkafüzet megnyitásakor vagy bezárásakor, vagy ha olyan műveletet hajt végre, amely az alrutin futtatását okozza.