Ez az oktatóanyag megmutatja, hogyan kell megnyitni és programozni a Visual Basic Editorban a VBA -ban.
A Visual Basic Editor megnyitása
Az Excelben néhány módon érheti el a Visual Basic Editor (VBE) programot.
nyomja meg Alt + F11 a billentyűzeten.
VAGY
Kattintson Nézet> Makrók> Makrók megtekintése. Innen már lehet Szerkesztés egy meglévő makró ill Teremt egy új. Bármelyik lehetőség megnyitja a VB szerkesztőt.
VAGY
Fejlesztő> Visual Basic
Megjegyzés: Ha nem látja a Fejlesztői szalagot, akkor engedélyeznie kell azt.
A Fejlesztői szalag engedélyezése
Kattintson a Fájl fülre a szalagon, és lépjen le a következőre: Lehetőségek. Ban,-ben Szalag testreszabása lehetőségek, jelölje be a Fejlesztő jelölőnégyzetet. Ez alapértelmezés szerint ki van kapcsolva, ezért be kell kapcsolnia a szalag fülének megtekintéséhez.
Kattintson rendben.
A Fejlesztő lap megjelenik a fő szalagon. Kattintson a Visual Basic elemre a szalag elején a Visual Basic szerkesztő eléréséhez.
A VBE képernyő megértése
A VBE képernyő az alábbi ábrán látható.
A Project Explorer
A Project Explorer lehetővé teszi, hogy megnézze, hogyan szerveződik a projekt, amelyben dolgozik. Láthatja, hogy hány modul és űrlap van tárolva a projektben, és navigálhat ezek között a modulok és űrlapok között. A modul az, ahol a munkafüzet kódja tárolódik, makró rögzítésekor egy szabványos modulban lesz tárolva - alapértelmezés szerint „1. modul ”.
Az Excel fájl minden munkalapja mögött modul is található, csakúgy, mint maga a munkafüzet. Amikor új lapot helyez be a munkafüzetbe az Excel főképernyőjén keresztül, egy további lapmodul jelenik meg a Project Explorerben.
Kattintson duplán egy modulra, hogy az adott modul kódjához lépjen.
Az eszköztár Ablak menüjére kattintva ott is kiválaszthatja a modult, hogy az adott modul kódjára lépjen.
A modulok típusa
A modulok 5 különböző típusba vannak rendezve.
- Standard modulok - a legtöbb kód ebbe a típusú modulba kerül. Amikor makrót rögzít, egy szabványos modulba kerül. Amikor egy általános eljárást ír le, amelyet a munkafüzetben kell használni, az általában egy szabványos modulba is bekerül.
- Munkafüzet modulok - ez a modul tartalmazza az egyedi munkafüzet egyedi kódját. Az ilyen típusú modulok legtöbb kódja az úgynevezett ESEMÉNYEK. Esemény akkor fordulhat elő, amikor például megnyitja vagy bezárja a munkafüzetet. A modul tartalmazhat olyan kódot is, amelyet saját maga írt, és amelyet az események használnak.
- Lemezmodulok - ez a modul tartalmazza az egyedi lap egyedi kódját. Ezek akkor fordulhatnak elő, ha például egy lapra kattintanak (a Kattintson az Esemény elemre), vagy amikor adatokat módosít egy cellában. Ez a modul tartalmazhat olyan kódot is, amelyet saját maga írt és az Események hívott.
- Űrlapmodulok - ez a modul az egyéni űrlap mögött, amelyet létrehozhat. Létrehozhat például egy űrlapot a számla részleteinek tárolására, az OK gombbal, a gomb mögötti kód (a kattintási esemény) tartalmazza a kódot, amely a gombra kattintáskor fut.
- Osztály modulok - ez a modul objektumok létrehozására szolgál futási időben. Az osztálymodult haladó VBA programozók használják, és egy későbbi szakaszban lefedik.
Modul vagy űrlap beillesztése a kódba
Ha új modult szeretne beilleszteni a kódjába, kattintson a Beszúrás lehetőséget a menüsorban, majd kattintson a gombra Modul.
Vagy kattintson a gombra Modul beszúrása gombot, amelyet a szabványos szalagon talál.
Ha új felhasználói űrlapot szeretne beszúrni a kódjába, válassza a UserForm választási lehetőség.
Egy új felhasználói űrlap jelenik meg a Project Explorer és megjelenik a jobb oldali Kódablakban.
Illessze be a Osztály modul
Az osztálymodul objektumok beszúrására szolgál a VBA projektbe.
Modul vagy űrlap eltávolítása a Project Explorerből
Kattintson a jobb gombbal az eltávolítani kívánt modulra vagy űrlapra, hogy megjelenjen a jobb gombbal megjelenő gyorsmenü.
Kattintson Eltávolítás (ebben az esetben UserForm1… )
VAGY
Kattintson a Fájl menüben, majd kattintson a gombra Eltávolítás (UserForm1).
Megjelenik egy figyelmeztető ablak, amely megkérdezi, hogy exportálni szeretné -e az űrlapot vagy modult, mielőtt eltávolítja. Az űrlap vagy modul exportálása lehetővé teszi egyedi fájlként történő mentését, hogy máskor más Excel -projektben használhassa.
Leggyakrabban azért, mert eltávolít egy modult vagy űrlapot, mert nincs rá szüksége, ezért kattintson a Nem gombra.
A Tulajdonságok ablak
Látni fogja a tulajdonságok ablakot a Project Explorer. Lehet, hogy ezt be kell kapcsolnia.
nyomja meg F4 vagy kattintson Kilátás, Tulajdonságok ablak.
A Tulajdonságok ablak lehetővé teszi, hogy megtekinthesse az adott modulhoz vagy űrlaphoz tartozó tulajdonságokat Project Explorer. Amikor modulokon dolgozik, a Tulajdonságok ablak segítségével módosíthatja a modul nevét. Ez az egyetlen tulajdonság, amely egy modul számára elérhető. Ha azonban űrlapokkal dolgozik, sokkal több tulajdonság lesz elérhető, és a Tulajdonságok ablakot széles körben használják az űrlapok és az űrlapon található vezérlők viselkedésének szabályozására.
Amikor makrót rögzít, az automatikusan egy szabványos modulba kerül. A modul neve „1. modul ” és minden, az adott modulban található kód elérhető a projekt során. A modult át kell neveznie valami jelentősre, ami megkönnyíti a kód megtalálását, ha több modult szeretne hozzáadni a projekthez.
Az űrlapokat át is nevezheti.
Ha átnevezte a lapot Excelben, akkor a lap neve zárójelben a lap neveként jelenik meg a Sheet1 után.
Ha meg akarja változtatni a modul nevét a lap mögött, akkor azt ugyanúgy módosíthatja, mint a modul és a felhasználói űrlap nevét - a Név tulajdonság megváltoztatásával a Tulajdonságok ablakban.
Unod már a VBA kódpéldák keresését? Próbálja ki az AutoMacro -t!
A kódablak
A kódablak megmutatja a modulokban található alfolyamatokat és funkciókat - a tényleges kódot. Makró rögzítésekor egy alfolyamat jön létre. Ha egy gyorsbillentyűt ad hozzá a makróhoz, akkor megjegyzésként jelenik meg a makróban, amely tájékoztatja Önt arról, hogy mi a gyorsbillentyű, amelyet a makróhoz rendelt.
A kódablak tetején két kombinált doboz található. Ezek lehetővé teszik, hogy megnézze, hogy a Modulon belül melyik objektumon (ha van ilyen) dolgozik, és melyik eljáráson dolgozik.
A fenti példában nem dolgozunk semmilyen objektumon - így ez általánosra van állítva, de a Gridlines eljáráson belül dolgozunk.
Ha ebben a modulban több eljárás is volt, akkor a fenti kombinált mező segítségével navigálhatunk a többi eljáráshoz.
A kódex megértése
Kétféle eljárás létezik - Részeljárások és Funkciós eljárások.
Részeljárások
A makró rögzítő csak alfolyamatokat rögzíthet. A Sub eljárás mindent megtesz. Olyan műveleteket hajtanak végre, mint például egy táblázat formázása vagy egy pivot tábla létrehozása, vagy a rácsvonalas példában az aktív ablak nézetbeállításainak módosítása. Az írott eljárások többsége al -eljárás. Minden makró alfolyamat.
Egy alfolyamat a Alatti állítás, és an -nal végződik End Sub nyilatkozat. Az eljárás nevét mindig zárójelek követik.
123 | Sub HideGridLines ()ActiveWindow.DisplayGridlines = HamisEnd Sub |
Funkciós eljárások
A Function függvény értéket ad vissza. Ez az érték lehet egyetlen érték, tömb, cellatartomány vagy objektum. A függvények általában valamilyen típusú számítást végeznek. Az Excel funkciói használhatók a Funkcióvarázslóval, vagy meghívhatók az al eljárásokból.
123 | Funkció Kilos (font, mint dupla)Kiló = (font/2,2)Vége funkció |
Ez a funkció használható a Funkció beszúrása párbeszédpanelen az Excel programban, hogy fontokat kilogrammra alakítsa át.
Új eljárás létrehozása
Az új eljárás létrehozása előtt győződjön meg arról, hogy abban a modulban van, amelyben tárolni kívánja az eljárást. Új eljárást a Beszúrás menü, Eljárás menüpontra kattintva hozhat létre.
vagy kattintson az eszköztár ikonjára
A következő párbeszédpanel jelenik meg
- Írja be az új eljárás nevét a névmezőbe - ennek az ábécé egy betűjével kell kezdődnie, és tartalmazhat betűket és számokat, és legfeljebb 64 karakter lehet.
- Lehet egy Rész eljárás, a Funkciós eljárás vagy a Ingatlan eljárás. (A tulajdonságok az osztálymodulokban használatosak, és az esetlegesen létrehozott ActiveX -vezérlők tulajdonságait állítják be).
- Beállíthatja az eljárás terjedelmét is Nyilvános vagy Magán. Ha az eljárás nyilvános (alapértelmezett), akkor a projekt összes modulja használhatja, míg ha az eljárás privát, akkor csak ez a modul tudja használni.
- Ebben az eljárásban a helyi változókat statikusnak nyilváníthatja (ez a változó hatóköréhez kapcsolódik, és egy helyi eljárásszintű változót nyilvánossá tesz a teljes modul számára). Ezt a lehetőséget nem fogjuk használni.
Ha minden fontos adatot kitöltött, kattintson a gombra rendben.
Ezután írja be a kódot a Sub és End Sub utasítások közé.
ALTERNATÍVAN - a Sub és End Sub utasításokat a modulban pontosan úgy írhatja be, ahogy fent látható. Nem kell a Public szót a sub szó elé tenni - ha ezt a szót kihagyja, akkor a modul összes eljárása automatikusan nyilvános lesz.
Aztán beírod Alatti majd az eljárás nevét, majd zárójelben.
azaz:
1 | Rész teszt () |
Az End Sub nyilatkozat automatikusan megjelenik.
VBA programozás | A kódgenerátor működik az Ön számára!
Íráskód, amely könnyen érthető és navigálható
Megjegyzések hozzáadása
Szokja meg, hogy megjegyzéseket ír be a kódjába, hogy később emlékeztesse magát a kód működésére.
Beilleszthet egy megjegyzést a kódjába, de beírhat egy aposztrófot a billentyűzeten, vagy bekapcsolhatja a Szerkesztés eszköztárat, és használhatja az adott eszköztáron megjelenő megjegyzés gombot.
Kattintson a jobb gombbal az eszköztárakra.
Válassza a lehetőséget Szerkesztés.
Kattintson a megjegyzés gombra, hogy megjegyzést illesszen a kódjába.
JEGYZET: Általában csak akkor használja a megjegyzésblokkoló gombot, ha rendelkezik néhány sor kóddal, amelyet ki szeretne kommentálni (és nem törölni). Egyetlen megjegyzésnél egyszerűbb az aposztróf használata.
Behúzás
Jó szokás, ha behúzza a kódot, így könnyen átolvashatja a kódot, és láthatja a kód különböző részeit.
A kód logikájától függően a behúzásnak több szintje lehet.
Nagybetű vs Kisbetű
A VBA az összes kódot a megfelelő kisbetűhöz igazítja, így ha MINDET NAGYBETŰVEL vagy kisbetűvel ír be, az újra beállítja a kódot, hogy megfelelő legyen!
VBA programozás | A kódgenerátor működik az Ön számára!
Automatikus kiegészítés
Amikor módosítja a kódot, észre fogja venni, hogy a VBA megpróbál segíteni Önnek azzal, hogy javasolja a beírható kódot. Ezt AutoComplete néven ismerik.
Hibaelhárítás és hibakeresés
A VBA -kód írásakor 4 típusú hiba fordulhat elő - szintaktikai hibák, fordítási hibák, futásidejű hibák és logikai hibák.
Szintaktikai hibák
Ezek akkor fordulnak elő, ha helytelenül írja be a kódot. Ezt a VBA nagymértékben megakadályozza azzal, hogy be van kapcsolva a szintaxis -ellenőrzési lehetőség. Ez alapértelmezés szerint be van kapcsolva, de ha a készülék ki van kapcsolva, akkor kapcsolja be a Eszközök, Lehetőségek és kattintson Automatikus szintaxis -ellenőrzés.
Ha helytelenül írja be a kódot (például kizár valamit, aminek szerepelnie kell a kódban), a kód írása közben megjelenik egy üzenetmező, amely lehetőséget ad a kód módosítására.
Összeállítási hibák
Ezek akkor fordulnak elő, ha valami hiányzik a kódból, ami megakadályozza a kód futtatását. A hiba nem jelentkezik a kód írásakor, de akkor fordul elő, amikor megpróbálja futtatni a kódot.
VBA programozás | A kódgenerátor működik az Ön számára!
Futásidejű hibák
Ezek akkor fordulnak elő, amikor futtatja a kódot, és a szintaxis és a fordítás helyes, de valami más történik, ami megakadályozza a kód helyes futtatását.
Ebben az esetben a Sheet4 nem létezik. Ez a hibaüzenet hasznosabb, mint a fordítási hibaüzenetek, mivel lehetőséget ad a kód hibakeresésére és annak kiderítésére, hogy miért nem működik.
Kattintson Hibakeresés. A kód megáll a hibánál, és sárgán kiemeli a hibát, amely lehetővé teszi a hiba kijavítását.
Módosítsa a 4. lapot a 2. lapon (mivel a 2. lap létezik, a 4. pedig nem létezik).
nyomja meg F5 vagy kattintson a Folytatni gombot az eszköztáron.
Logikai hibák
Ezeket a legnehezebb megtalálni. Esetükben a kód helyesen van írva, de a kód tényleges logikája hibás, így előfordulhat, hogy nem a kívánt eredményt kapja meg a kódtól. A logikai hibáknál elengedhetetlen a hibakeresés.
2 típusú hibacsapda létezik
Hiba esetén lépjen ide
A következő kód a Fájl megnyitása párbeszédpanel megnyitása - hibaüzenetet kap, ha a felhasználó rákattint Megszünteti.
A kód futtatásakor megjelenik a Fájl megnyitása párbeszédpanel.
Ha ezután a Mégse gombra kattint, a hiba bekövetkezik.
A következő hibacsapda folytatja a kódot a kód kilépési funkciójához, és visszaadja az üzenetet.
Ez az On Error GoTo funkciót használja a funkció kilépéséhez.
Amikor futtatja a kódot, és a Mégse gombra kattint, megjelenik az üzenetmező.
Hiba esetén Folytassa a következőt
Ha felteszed a Hiba esetén Folytassa a következőt Ha beírja a kódját, a hibát tartalmazó sort figyelmen kívül hagyja, és a kód folytatódik.
Például, ha a felhasználó a Mégse gombra kattint az alábbi kódban, akkor a kód nem ad futási hibát, csak véget ér, anélkül, hogy a kód bármit tovább csinálna.
Vannak esetek, amikor ez nagyon hasznos, de bizonyos körülmények között nagyon veszélyes is lehet, mivel nem ad vissza üzenetet arról, hogy miért kapott hibát.