VBA - A Visual Basic Editor (VBE) megnyitása és használata Excelben

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.

  1. 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.
  2. 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.
  3. 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.
  4. Ű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.
  5. 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

  1. Í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.
  2. 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).
  3. 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.
  4. 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.

wave wave wave wave wave