Kezdő oktatóanyag a VBA makrók írásáról Excelben (és miért érdemes tanulni)

Kezdő oktatóanyag a VBA makrók írásáról Excelben (és miért érdemes tanulni)

Az Excel makrók rengeteg időt takaríthatnak meg a gyakran használt Excel folyamatok automatizálása . De a makrók valójában meglehetősen korlátozottak. A rögzítő eszközzel könnyű hibázni, és a rögzítési folyamat kényelmetlen.





A VBA használata makrók létrehozásához sokkal nagyobb teljesítményt nyújt. Pontosan meg tudja mondani az Excelnek, hogy mit és hogyan kell csinálni. Emellett sokkal több funkcióhoz és képességhez férhet hozzá. Ha rendszeresen használja az Excel programot, érdemes megtanulni a VBA makrók létrehozását.





Kezdjük az alapokkal.





Mi az a VBA?

A VBA a Visual Basic for Applications , egy programozási nyelv, amelyet számos Microsoft -alkalmazásban használhat. A Visual Basic egy programozási nyelv, a VBA pedig az alkalmazás-specifikus változata. (A Microsoft még 2008 -ban beszüntette a Visual Basic -et, de a VBA továbbra is erős).

Szerencsére a nem programozók számára a VBA nagyon egyszerű, és a szerkesztéshez használt felület sok segítséget nyújt. A használt parancsok közül sok felugró javaslatokat és automatikus kiegészítéseket tartalmaz, amelyek segítenek a szkript gyors működésében.



Ennek ellenére a VBA -nak egy kis időre van szüksége ahhoz, hogy megszokja.

A VBA makrók előnyei Excelben

Ha a VBA nehezebb, mint a makró rögzítése, miért használná? A rövid válasz az, hogy sokkal több energiát kap a VBA makrókból.





Ahelyett, hogy rákattintana a táblázatra, és rögzítené ezeket a kattintásokat, elérheti az Excel összes funkcióját és képességét. Csak tudnod kell, hogyan kell használni őket.

vágja körbe a képet

És ha már jobban érzi magát a VBA -val, sokkal kevesebb idő alatt elvégezheti mindazt, amit egy normál makróban megtehet. Az eredmények is kiszámíthatóbbak lesznek, ahogy az Excelnek mondja pontosan mit kell tenni. Egyáltalán nincs kétértelműség.





Miután létrehozta VBA makróját, könnyen mentheti és megoszthatja azt, hogy bárki más kihasználhassa azt. Ez különösen akkor hasznos, ha sok emberrel dolgozik, akiknek ugyanazokat a dolgokat kell elvégezniük az Excelben.

Nézzünk egy egyszerű VBA makrót, hogy lássuk, hogyan működik.

Példa egy VBA makróra Excelben

Nézzünk egy egyszerű makrót. Táblázatunk tartalmazza az alkalmazottak nevét, az üzlet számát, ahol az alkalmazottak dolgoznak, és negyedéves értékesítéseiket.

Ez a makró hozzáadja az egyes boltok negyedéves értékesítéseit, és összegeket ír a táblázat celláiba (ha nem biztos abban, hogyan érheti el a VBA párbeszédpanelt, nézze meg a VBA bemutatónk itt ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

Ez hosszúnak és bonyolultnak tűnhet, de lebontjuk, hogy láthassa az egyes elemeket, és megtudjon egy kicsit a VBA alapjairól.

Az al

A modul elején van „Sub StoreSales ()”. Ez meghatározza a StoreSales nevű új alcsoportot.

Funkciókat is definiálhat --- a különbség az, hogy a függvények értékeket tudnak visszaadni, az aljegyzékek viszont nem (ha ismeri a többi programozási nyelvet, a subs a metódusok megfelelője). Ebben az esetben nem kell értéket visszaadnunk, ezért egy alsót használunk.

A modul végén van az „End Sub”, amely azt mondja az Excelnek, hogy végeztünk ezzel a VBA makróval.

Változók deklarálása

A szkriptünk első kódsorai a 'Dim' betűvel kezdődnek. A Dim a VBA parancsa egy változó deklarálására.

Tehát a 'Dim Sum1' új változót hoz létre, 'Sum1' néven. Azonban meg kell mondanunk az Excelnek, hogy ez milyen változó. Adattípust kell választanunk. A VBA-ban sokféle adattípus létezik-megtalálható teljes lista a Microsoft súgó dokumentumaiban .

Mivel a VBA makrónk valutákkal fog foglalkozni, a Valuta adattípust használjuk.

A „Dim Sum1 as Currency” utasítás azt mondja az Excelnek, hogy hozzon létre egy új Currency változót Sum1 néven. Minden deklarált változónak 'As' utasítással kell rendelkeznie, hogy megmondja az Excel típusát.

For For Loop indítása

A hurkok a legerősebb dolgok, amelyeket bármilyen programozási nyelven létrehozhat. Ha nem ismeri a ciklusokat, nézze meg a Do-While hurkok magyarázatát. Ebben a példában For ciklusot használunk, amelyet a cikk is tárgyal.

A hurok így néz ki:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

Ez azt mondja az Excelnek, hogy iterálja végig a megadott tartomány celláit. Használtuk a Tartomány objektum , amely egy speciális típusú objektum a VBA -ban. Ha így használjuk-Range ('C2: C51') ---, azt mondja az Excelnek, hogy minket érdekel ez az 50 cella.

A „For each” azt jelzi az Excelnek, hogy a tartomány minden cellájával tenni fogunk valamit. A „Next Cell” után következik minden, amit meg akarunk tenni, és azt mondja az Excelnek, hogy kezdje el a ciklust az elejétől (kezdve a következő cellával).

Van egy ilyen kijelentésünk is: 'Ha IsEmpty (Cell), akkor lépjen ki.'

Kitalálod, mit csinál?

Jegyzet: Szigorúan véve, a While ciklus használata jobb választás lehetett . A tanítás kedvéért azonban úgy döntöttem, hogy For ciklust használok kilépéssel.

leggyorsabb módja a fájlok számítógépről számítógépre történő átvitelének

Ha-akkor-más nyilatkozatok

Ennek a makrónak a lényege az If-then-Else utasításokban található. Íme a feltételes állítások sorrendje:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

A legtöbb esetben valószínűleg sejtheti, mit tesznek ezek az állítások. Lehet, hogy nem ismeri az ActiveCell -t. Az „ActiveCell.Offset (0, -1)” parancs azt mondja az Excelnek, hogy nézze meg az aktív cellától balra lévő oszlopot.

Esetünkben ez azt mondja az Excelnek, hogy keresse fel az üzletszám oszlopot. Ha az Excel 1 -et talál ebben az oszlopban, akkor felveszi az aktív cella tartalmát, és hozzáadja a Sum1 -hez. Ha 2 -et talál, hozzáadja az aktív cella tartalmát a Sum2 -hez. Stb.

Az Excel sorrendben végigmegy ezen állítások mindegyikén. Ha a feltételes nyilatkozat elégedett, kiegészíti az Akkor kijelentést. Ha nem, akkor a következő ElseIf -be kerül. Ha egészen a végéig tart, és egyik feltétel sem teljesül, akkor nem tesz semmit.

A ciklus és a feltételes feltételek kombinációja hajtja ezt a makrót. A ciklus azt mondja az Excelnek, hogy menjen végig a kijelölés minden celláján, és a feltételesek megmondják, hogy mit kell tenni az adott cellával.

Cellaértékek írása

Végül a számításaink eredményeit cellákba írhatjuk. Íme a sorok, amelyeket erre használunk:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

A „.Value” és az egyenlőségjel segítségével mindegyik cellát valamelyik változónk értékére állítjuk.

És ez az! Azt mondjuk az Excel -nek, hogy befejeztük az „Sub Sub” beírását, és a VBA makró kész.

Amikor a makrót a Makrók gombot a Fejlesztő lapon megkapjuk az összegeinket:

A VBA építőkövei összeállítása Excelben

Amikor először megnézi a fenti VBA makrót, az meglehetősen bonyolultnak tűnik. De miután felbontotta alkotóelemeire, világossá válik a logika. Mint minden szkriptnyelv, a VBA szintaxisának megszokása is időt vesz igénybe.

De gyakorlással felépítheti VBA szókincsét, és gyorsabban, pontosabban és sokkal nagyobb erővel írhat makrókat, mint valaha is rögzíthetné.

Amikor elakad, a Google -keresés gyors módja annak, hogy választ kapjon a VBA -kérdésekre. És A Microsoft Excel VBA hivatkozása hasznos lehet, ha hajlandó átgondolni a technikai választ.

Ha jól ismeri az alapokat, elkezdheti használni a VBA -t, például e -mailek küldése az Excelből , az Outlook feladatok exportálása és a számítógép adatainak megjelenítése.

hogyan lehet elforgatni a videókat az ablak médialejátszóban
Részvény Részvény Csipog Email Ezért adott ki figyelmeztetést az FBI a Hive Ransomware -re

Az FBI figyelmeztetést adott ki egy különösen csúnya ransomware -törzs miatt. Ezért kell különösen óvatosnak lennie a Hive ransomware -el szemben.

Olvassa tovább
Kapcsolódó témák
  • Termelékenység
  • Táblázat
  • Microsoft Excel
  • Microsoft Office 2016
  • Makrók
  • Kódolási oktatóanyagok
A szerzőről Aztán Albright(506 megjelent cikk)

Dann tartalomstratégiai és marketing tanácsadó, aki segít a vállalatoknak keresletet és potenciális ügyfeleket generálni. Stratégiáról és tartalommarketingről is blogol a dannalbright.com oldalon.

Továbbiak Dann Albright -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide