Hogyan készítsünk VBA-makrót vagy szkriptet az Excelben
A Microsoft Excel(Microsoft Excel) lehetővé teszi a felhasználók számára a funkciók és parancsok automatizálását makrók és Visual Basic for Applications ( VBA ) szkriptek segítségével. A VBA az az Excel programozási nyelv(VBA is the programming language Excel) , amelyet makrók létrehozására használ. Automatikus parancsokat is végrehajt bizonyos feltételek alapján.
A makrók előre rögzített parancsok sorozata. Egy adott parancs kiadásakor automatikusan lefutnak. Ha vannak olyan feladatai a Microsoft Excelben(Microsoft Excel) , amelyeket ismételten elvégz, például könyvelés, projektmenedzsment vagy bérszámfejtés, ezeknek a folyamatoknak az automatizálása sok időt takaríthat meg.
Az Excel menüszalagjának (Ribbon)Fejlesztő(Developer) lapján a felhasználók rögzíthetik az egérkattintásokat és a billentyűleütéseket (makrókat). Egyes funkciók azonban alaposabb szkriptet igényelnek, mint amennyit a makrók biztosítanak. Ez az a hely, ahol a VBA - szkriptelés hatalmas előnyt jelent. Lehetővé teszi a felhasználók számára, hogy összetettebb szkripteket hozzanak létre.
Ebben a cikkben a következőket magyarázzuk el:
- Szkriptek és makrók engedélyezése
- Hogyan készítsünk makrót Excelben
- Konkrét példa egy makróra
- Tudjon meg többet a VBA-ról
- Hozzon létre egy gombot a (Button)VBA használatának megkezdéséhez
- Adjon hozzá kódot(Add Code) a gomb funkciójának biztosításához(Button Functionality)
- Működött?
Szkriptek és makrók engedélyezése(Enabling Scripts & Macros)
Mielőtt makrókat vagy VBA -szkripteket hozhatna létre az Excelben(Excel) , engedélyeznie kell a Fejlesztő(Developer ) lapot a Szalag(Ribbon) menüben. A Fejlesztő(Developer) lap alapértelmezés szerint nincs engedélyezve. Az engedélyezéshez:
- Nyisson meg egy Excel munkalapot.
- Kattintson a Fájl(File ) > Beállítások( Options ) > Szalag testreszabása elemre.( Customize Ribbon.)
- Jelölje be a Fejlesztő(Developer) melletti négyzetet .
- Kattintson a Fejlesztő(Developer) fülre a Szalag(Ribbon) menüben.
- Ezután kattintson a Makróbiztonság(Macro Security) elemre, és jelölje be az Összes makró engedélyezése melletti négyzetet (nem ajánlott; potenciálisan veszélyes kód futhat). (Enable all macros (not recommended; potentially dangerous code can run). )
- Ezután kattintson az OK gombra.( OK.)
A makrók alapértelmezés szerint nincsenek bekapcsolva, és figyelmeztetést kapnak, mert olyan számítógépes kódról van szó, amely rosszindulatú programokat tartalmazhat.
Győződjön(Make) meg arról, hogy a dokumentum megbízható forrásból származik, ha megosztott projekten dolgozik Excelben(Excel) és más Microsoft - programokban.
Ha befejezte a szkriptek és makrók használatát, tiltsa le az összes makrót, hogy megakadályozza, hogy az esetlegesen rosszindulatú kódok megfertőzzenek más dokumentumokat.
Hozzon létre egy makrót Excelben(Create a Macro in Excel)
A makró rögzítése közben az Excelben(Excel) végrehajtott összes művelet hozzáadódik hozzá.
- A Fejlesztő lapon kattintson a Makró rögzítése(Record Macro) elemre .
- Adja meg a makró nevét(Macro name) , egy gyorsbillentyűt(Shortcut key) és egy leírást. (Description. )A makróneveknek(Macro) betűvel kell kezdődniük, és nem lehetnek szóközök. A gyorsbillentyűnek betűnek kell lennie.
Döntse el, hol szeretné tárolni a makrót a következő lehetőségek közül:
- Személyes makró munkafüzet(Personal Macro Workbook) : Ez egy rejtett Excel -dokumentumot hoz létre tárolt makróval, amelyet bármilyen Excel - dokumentumhoz használhat.
- Új munkafüzet(New Workbook) : Létrehoz egy új Excel -dokumentumot a létrehozott makrók tárolására.
- Ez a munkafüzet(This Workbook) : Ez csak az éppen szerkesztett dokumentumra vonatkozik.
Ha végzett, kattintson az OK gombra(OK) .
- Futtassa(Run) végig az automatizálni kívánt műveleteket. Ha végzett, kattintson a Felvétel leállítása(Stop Recording) gombra .
- Ha hozzá szeretne férni a makrójához, használja a megadott billentyűkódot.
Konkrét példa egy makróra(Specific Example Of a Macro)
Kezdjük egy egyszerű táblázattal, amely bemutatja az ügyfeleket és mennyivel tartoznak. Kezdjük egy makró létrehozásával a munkalap formázásához.
Tételezzük fel, hogy úgy dönt, hogy minden táblázatnak más formátumot kell használnia, például a vezeték- és utónevet külön oszlopokba kell helyeznie.
Ezt manuálisan módosíthatja. Vagy létrehozhat egy programot egy makró segítségével, amely automatikusan megfelelően formázza az Ön számára.
Rögzítse a Makrót(Record The Macro)
- Kattintson a Makró rögzítése(Record Macro) elemre . Nevezzük Format_Customer_Data -nak , és kattintson az OK gombra(OK) .
- A kívánt formázás eléréséhez az első oszlop nevét Keresztnévre(First Name) módosítjuk .
- Ezután szúrjon be egy oszlopot az A mellé, és nevezze el Vezetéknévnek(Last Name) .
- Jelölje(Highlight) ki az összes nevet az első oszlopban (amely továbbra is tartalmazza a vezeték- és keresztnevet), és kattintson az Adatok(Data) elemre a szalagnavigációban.
- Kattintson a Szöveg oszlopokba(Text to Columns) elemre .
- Jelölje be a Határozott > Következő(Next ) > Szóközzel (Separate by Space)elválasztott(Delimited) > Következő(Next ) > Befejezés lehetőséget(Finish) . Tekintse meg az alábbi képernyőképet, valamint azt, hogy a fenti folyamat hogyan választotta el a vezeték- és utóneveket.
- Az Egyenleg(Balance Due) mező formázásához jelölje ki az összegeket. Kattintson(Click) a Kezdőlap(Home ) > Feltételes formázás(Conditional Formatting) > Cellaszabályok kiemelése(Highlight Cell Rules) > Nagyobb mint(Greater Than ) > 0 elemre .
Ez kiemeli azokat a cellákat, amelyeknek egyenlege van. A formázás további illusztrálása érdekében hozzáadtunk néhány ügyfelet, akiknek nincs egyenlege.
- Menjen vissza a Fejlesztőhöz(Developer ) , és kattintson a Felvétel leállítása(Stop Recording) elemre .
Alkalmazza a Makrót(Apply The Macro)
Kezdjük az eredeti táblázattal, mielőtt rögzítenénk a makrót a megfelelő formázáshoz. Kattintson(Click) a Makrókra(Macros) , válassza ki és futtassa(Run) az imént létrehozott makrót.
Makró futtatásakor minden formázás megtörténik Ön helyett. Ezt a most létrehozott makrót a Visual Basic Editor tárolja .
A felhasználók többféleképpen futtathatnak makrókat. További információért olvassa el a Makró futtatása című(Run a macro) részt.
Tudjon meg többet a VBA-ról(Learn More About VBA)
Ha többet szeretne megtudni a VBA-ról, kattintson a Makró(Macro) elemre a Fejlesztő(Developer) lapon. Keresse meg a létrehozott egyet, és kattintson a Szerkesztés gombra.(Edit.)
A fenti mezőben látható kód a makró rögzítésekor jött létre.
Akkor is ezt fogja futtatni, ha más ügyfelek fizetési táblázatait is hasonló módon szeretné formázni.
Hozzon létre egy gombot a VBA használatának megkezdéséhez(Create a Button To Get Started With VBA)
A fenti táblázat segítségével az ügyfelekkel és a tartozásuk összegével hozzunk létre egy valutaátváltót.
- Gombelem beszúrásához lépjen a Fejlesztő(Developer ) lapra.
- Válassza az ActiveX parancsgombot(ActiveX Command Button ) a Vezérlők(Controls) szakasz Beszúrás(Insert) eleme melletti legördülő listából .
- Húzza(Drag) a gombot a táblázat bármely pontjára, így könnyen elérheti, és később módosíthatja, ha akarja.
- A kód csatolásához kattintson a jobb gombbal a gombra, és válassza a Tulajdonságok menüpontot(Properties) . A nevet (Name)CommandButtonként(CommandButton) és a konvertálandó feliratot ( Convert )((Caption ) ez a gomb szövege) megtartjuk .
Adjon hozzá kódot a gomb funkciójának biztosításához(Add Code To Give The Button Functionality)
A VBA(VBA) kódolás nem történik meg az Excel felületen. Külön környezetben történik.
- Lépjen a Fejlesztő(Developer) lapra, és győződjön meg arról, hogy a Tervezési mód(Design Mode) aktív.
- Az imént létrehozott gomb kódjának eléréséhez kattintson rá jobb gombbal, és válassza a Kód megtekintése(View Code) lehetőséget .
- Az alábbi képernyőképen látható kódot nézve észreveheti, hogy a kód eleje ( Private Sub ) és vége ( End Sub ) már ott van.
- Az alábbi kód irányítja a valutaátváltási eljárást.
ActiveCell.Value = (ActiveCell * 1.28)
Ebben a részben az a célunk, hogy átváltsuk a táblázatunkban szereplő pénznemet. A fenti szkript a GBP(GBP) és az USD közötti árfolyamot tükrözi . Egy cella új értéke a jelenleg ott lévő érték lesz megszorozva 1,28-cal.
Az alábbi képernyőkép azt mutatja, hogyan néz ki a kód a VBA ablakban a beillesztés után.
- Lépjen a Fájl(File ) elemre a felső navigációs sávban, majd kattintson a Bezárás és a Visszatérés a Microsoft Excelhez gombra,(click on Close and Return to Microsoft Excel) hogy visszatérjen az Excel fő felületére.
Működött?(Did It Work?)
Mielőtt tesztelné a kódot, először le kell tiltania a Tervezési módot(Design Mode) (kattintson rá), hogy elkerülje a további módosításokat és biztosítsa a gomb funkcióját.
- Írjon(Type) be egy tetszőleges számot a táblázatba, majd kattintson a Konvertálás(Convert) gombra. Ha a szám értéke körülbelül egynegyedével nő, akkor működött.
Ebben a példában a 4-es számot egy cellába tettem. A Konvertálás(Convert) gombra kattintás után a szám 5.12-re változott. Mivel 4-szer 1,28 az 5,12, a kód helyesen lett végrehajtva.
Most, hogy megértette, hogyan hozhat létre makrót vagy szkriptet az Excelben(Excel) , ezek segítségével számos műveletet automatizálhat az Excelben(Excel) .
Related posts
Speciális VBA útmutató az MS Excelhez
5 Google Sheets Script funkció, amelyet tudnia kell
Az üres sorok törlése az Excelben
Az Excel Speak Cells funkciójának használata
Excel-munkalap beszúrása Word-dokumentumba
A Flash Fill használata Excelben
Oszlopok mozgatása Excelben
Több linkelt legördülő lista létrehozása az Excelben
Excel-fájl megosztása az egyszerű együttműködés érdekében
Hogyan készítsünk egyszerű kimutatást az Excelben
Központosítsa a munkalap adatait az Excelben nyomtatáshoz
Használja a billentyűzetet a sormagasság és az oszlopszélesség módosításához az Excelben
Hogyan lehet nyomon követni a függőket Excelben
Sorok és oszlopok csoportosítása egy Excel munkalapon
4 módszer a pipa használatára az Excelben
Az abszolút hivatkozások használata az Excelben
Cellák, oszlopok és sorok egyesítése az Excelben
Hogyan készítsünk kördiagramot Excelben
Miért érdemes elnevezett tartományokat használni az Excelben?
Google Táblázatok vs Microsoft Excel – Mi a különbség?