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.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave