Vadnica za začetnike o pisanju makrov VBA v Excelu (in zakaj bi se morali naučiti)

Vadnica za začetnike o pisanju makrov VBA v Excelu (in zakaj bi se morali naučiti)

Excelovi makri vam lahko prihranijo veliko časa avtomatiziranje Excelovih procesov, ki jih pogosto uporabljate . Toda makri so pravzaprav precej omejeni. Z orodjem za snemanje je enostavno narediti napako, postopek snemanja pa je neroden.





Uporaba VBA za ustvarjanje makrov vam daje veliko več moči. Excelu lahko natančno poveš, kaj in kako naj stori. Prav tako imate dostop do veliko več funkcij in zmogljivosti. Če redno uporabljate Excel, se je vredno naučiti ustvarjati makre VBA.





Začeli bomo z osnovami.





Kaj je VBA?

VBA je Visual Basic za aplikacije , programski jezik, ki ga lahko uporabljate v številnih Microsoftovih aplikacijah. Visual Basic je programski jezik, VBA pa njegova različica za aplikacijo. (Microsoft je Visual Basic ukinil leta 2008, vendar je VBA še vedno močan).

Na srečo za neprogramerje je VBA zelo preprosta in vmesnik, ki ga uporabljate za urejanje, ponuja veliko pomoči. Številni ukazi, ki jih boste uporabili pri pojavnih predlogih in samodejnih dokončanjih, vam bodo pomagali, da bo vaš skript deloval hitro.



Kljub temu se na VBA navadi nekaj časa.

Prednosti makrov VBA v Excelu

Če je VBA težje od snemanja makra, zakaj bi ga uporabili? Kratek odgovor je, da iz makrov VBA dobite veliko več moči.





Namesto da bi klikali po preglednici in beležili te klike, lahko dostopate do celotnega nabora funkcij in zmožnosti Excela. Le vedeti jih morate, kako jih uporabiti.

kako uporabljati aplikacijo po šoli brez Facebooka

In ko vam bo VBA bolj udobno, lahko vse, kar bi lahko počeli v običajnem makronu, naredite v veliko manj časa. Kot pravite Excelu, bodo tudi rezultati bolj predvidljivi točno kaj storiti. Sploh ni nejasnosti.





Ko ustvarite svoj makro VBA, ga je enostavno shraniti in dati v skupno rabo, tako da ga lahko izkoristijo vsi drugi. To je še posebej uporabno, če delate z veliko ljudmi, ki morajo iste stvari početi v Excelu.

Poglejmo preprost makro VBA, da vidimo, kako deluje.

Primer makra VBA v Excelu

Poglejmo preprost makro. Naša preglednica vsebuje imena zaposlenih, številko trgovine, v kateri zaposleni delajo, in njihovo četrtletno prodajo.

Ta makro bo dodal četrtletno prodajo iz vsake trgovine in te vsote zapisal v celice v preglednici (če niste prepričani, kako dostopati do pogovornega okna VBA, si oglejte naš opis VBA tukaj ):

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

Morda bo to videti dolgo in zapleteno, vendar ga bomo razčlenili, da boste lahko videli posamezne elemente in se naučili nekaj o osnovah VBA.

Razglasitev podv

Na začetku modula imamo 'Sub StoreSales ()'. To opredeljuje nov podimenik, imenovan StoreSales.

Določite lahko tudi funkcije --- razlika je v tem, da lahko funkcije vrnejo vrednosti, podnapisi pa ne (če poznate druge programske jezike, so podsistemi enakovredni metodam). V tem primeru nam ni treba vrniti vrednosti, zato uporabljamo sub.

Na koncu modula imamo 'End Sub', ki Excelu pove, da smo s tem makrom VBA končali.

Razglasitev spremenljivk

Vse vrstice kode v našem skriptu se začnejo z 'Dim'. Dim je ukaz VBA za razglasitev spremenljivke.

Tako 'Dim Sum1' ustvari novo spremenljivko, imenovano 'Sum1'. Vendar moramo Excelu povedati, za kakšno spremenljivko gre. Izbrati moramo podatkovni tip. V VBA obstaja veliko različnih podatkovnih tipov-najdete jih celoten seznam v Microsoftovih dokumentih za pomoč .

Ker se bo naš makro VBA ukvarjal z valutami, uporabljamo podatkovni tip valute.

Izjava 'Dim Sum1 As Currency' pove Excelu, naj ustvari novo spremenljivko valute, imenovano Sum1. Vsaka spremenljivka, ki jo deklarirate, mora imeti stavek 'As', da Excelu pove svojo vrsto.

Zagon For Loopa

Zanke so nekaj najmočnejših stvari, ki jih lahko ustvarite v katerem koli programskem jeziku. Če niste seznanjeni z zankami, si oglejte to razlago zank Do-While. V tem primeru uporabljamo zanko For, ki je prav tako obravnavana v članku.

Takole izgleda zanka:

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

To pove Excelu, da ponovi celice v obsegu, ki smo ga določili. Uporabili smo a Objekt obsega , ki je posebna vrsta objekta v VBA. Ko ga uporabljamo na ta način --- Razpon ('C2: C51') --- pove Excelu, da nas zanima teh 50 celic.

'Za vsako' Excelu pove, da bomo z vsako celico v obsegu naredili nekaj. 'Naslednja celica' sledi za vsem, kar želimo narediti, in Excelu pove, naj začne zanko od začetka (začenši z naslednjo celico).

Imamo tudi to izjavo: 'If IsEmpty (Cell) then Exit For.'

Lahko uganete, kaj počne?

Opomba: Strogo rečeno, uporaba zanke While je bila morda boljša izbira . Zaradi poučevanja pa sem se odločil uporabiti zanko For z izhodom.

kako vplivati ​​na pomen

Izjave če-potem-drugače

Jedro tega makra je v stavkih If-Then-Else. Tu je naše zaporedje pogojnih stavkov:

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

Večinoma lahko verjetno uganite, kaj te izjave delajo. Morda pa niste seznanjeni z ActiveCell.Offset. 'ActiveCell.Offset (0, -1)' pove Excelu, naj pogleda celico, ki je en stolpec levo od aktivne celice.

V našem primeru to Excelu nalaga, naj si ogleda stolpec s številko trgovine. Če Excel v tem stolpcu najde 1, vzame vsebino aktivne celice in jo doda Sum1. Če najde 2, doda vsebino aktivne celice v Sum2. In tako naprej.

Excel pregleda vse te izjave po vrsti. Če je pogojna izjava je zadovoljen, dokonča stavek Then. Če ne, se premakne v naslednjo drugo. Če pride do konca in noben od pogojev ni izpolnjen, ne bo ukrepal.

Ta makro poganja kombinacija zanke in pogojev. Zanka pove Excelu, da gre skozi vsako celico v izboru, pogojni pa ji povedo, kaj naj stori s to celico.

Pisanje vrednosti celic

Končno lahko rezultate naših izračunov zapišemo v celice. Tu so vrstice, ki jih uporabljamo za to:

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

Z '.Value' in znakom enačbe nastavimo vsako od teh celic na vrednost ene od naših spremenljivk.

In to je to! Excelu povemo, da smo s podpisom »End Sub« končali s pisanjem te podrejene datoteke in makro VBA je končan.

Ko zaženemo makro z datoteko Makri gumb v Razvijalec zavihek, dobimo naše vsote:

Sestavljanje gradnikov VBA v Excelu

Ko prvič pogledate zgornji makro VBA, je videti precej zapleten. Toda po razčlenitvi na sestavne dele logika postane jasna. Tako kot kateri koli skriptni jezik je potreben čas, da se navadite na skladnjo VBA.

Toda s prakso boste razvili svoj besedni zaklad VBA in lahko pisali makre hitreje, natančneje in z veliko večjo močjo, kot bi jih lahko kdaj posneli.

Ko se zataknete, je iskanje v Googlu hiter način za odgovor na vaša vprašanja VBA. In Microsoftova referenca Excel VBA je lahko v pomoč, če ste pripravljeni poiskati tehnični odgovor.

Ko se seznanite z osnovami, lahko začnete uporabljati VBA za stvari, kot so pošiljanje e -poštnih sporočil iz Excela , izvoz Outlookovih opravil in prikaz podatkov o računalniku.

kako prenesti glasbo iz iPod -a v itunes
Deliti Deliti Cvrkutati E-naslov Tukaj je razlog, zakaj je FBI izdal opozorilo za panjsko odkupno programsko opremo

FBI je izdal opozorilo o še posebej grdi vrsti odkupne programske opreme. Evo, zakaj morate biti še posebej previdni pri odkupni programski opremi Hive.

Preberite Naprej
Sorodne teme
  • Produktivnost
  • Preglednica
  • Microsoft Excel
  • Microsoft Office 2016
  • Makri
  • Kodiranje vadnic
O avtorju Potem Albright(Objavljenih 506 člankov)

Dann je svetovalec za vsebinsko strategijo in trženje, ki podjetjem pomaga ustvarjati povpraševanje in potencialne stranke. Na spletnem mestu dannalbright.com piše tudi o strategijah in vsebinskem trženju.

Več od Danna Albrighta

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite