Vodič za početnike o pisanju VBA makronaredbi u Excelu (i zašto biste trebali učiti)

  • Brian Curtis
  • 3
  • 5828
  • 820
Oglas

Excel makronaredbe mogu vam uštedjeti tonu vremena automatiziranjem Excel procesa koji često koristite. Ali makroi su zapravo prilično ograničeni. Lako je pogriješiti s alatom za snimanje, a postupak snimanja je nespretan.

Korištenje VBA za stvaranje makronaredbe daje vam puno više snage. Možete Excelu reći točno što treba učiniti i kako to učiniti. Također dobivate pristup puno više funkcija i mogućnosti. Ako redovito koristite Excel, vrijedi naučiti kako stvoriti VBA makronaredbe.

Počet ćemo s osnovama.

Što je VBA?

VBA je Visual Basic za aplikacije, programski jezik koji možete koristiti u mnogim Microsoftovim aplikacijama. Visual Basic je programski jezik, a VBA je inačica specifična za aplikaciju. (Microsoft je prekinuo Visual Basic još 2008., ali VBA je i dalje jak).

Srećom za neprogramirače, VBA je vrlo jednostavan, a sučelje koje koristite za uređivanje nudi puno pomoći. Mnoge naredbe koje upotrebljavate skočni prijedlozi i automatsko dovršavanje pomažu vam da vaša skripta brzo radi.

Ipak, VBA treba neko vrijeme da se navikne.

Prednosti VBA makronaredbi u Excelu

Ako je VBA teži od snimanja makronaredbe, zašto biste je koristili? Kratki odgovor je da dobivate puno više energije iz VBA makronaredbi.

Umjesto da klikate po vašoj proračunskoj tablici i bilježite te klikove, možete pristupiti Excelu cijeli niz funkcija i mogućnosti. Samo trebate znati kako ih koristiti.

A nakon što vam VBA bude ugodniji, možete učiniti sve što biste mogli raditi u uobičajenom makronaredbi za puno manje vremena. Rezultati će također biti predvidljiviji, kao što govorite u Excelu točno što učiniti. Uopće nema nejasnoća.

Jednom kada stvorite svoj makro VBA, lako ga je spremiti i podijeliti kako bi ga bilo tko drugi mogao iskoristiti. Ovo je posebno korisno kada radite s puno ljudi koji trebaju raditi iste stvari u Excelu.

Pogledajmo jednostavan VBA makronaredbu da vidimo kako to funkcionira.

Primjer VBA makronaredbe u Excelu

Pogledajmo jednostavnu makronaredbu. Naša proračunska tablica sadrži imena zaposlenih, broj trgovine u kojoj zaposlenici rade i njihovu kvartalnu prodaju.

Ova makronaredba dodaje se kvartalnoj prodaji iz svake trgovine i upisuje te iznose u ćelije u proračunskoj tablici (ako niste sigurni kako pristupiti VBA dijalogu, pogledajte naš vodič kroz VBA ovdje):

Sub StoreSales () Dim Sum1 Kao Valuta Dim Sum2 Kao Valuta Dim Sum3 Kao valuta Dim Sum4 Kao valuta za svaku ćeliju u rasponu ("C2: C51") Cell.Activate ako je IsEmpty (ćelija), a zatim izađite iz programa If ActiveCell.Offset (0, -1) = 1 Tada je Sum1 = Sum1 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 2 Tada je Sum2 = Sum2 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 3 Tada je Sum3 = Sum3 + Cell.Value ElseIf ActiveCell.Offset (0, -1) = 4 Tada je Sum4 = Sum4 + Cell.Value End ako je sljedeći raspon ćelija ("F2"). Vrijednost = Sum1 raspon ("F3"). Vrijednost = Sum2 raspon (" F4 "). Vrijednost = Područje Sum3 (" F5 "). Vrijednost = Sum4 Kraj Pod

Ovo može izgledati dugo i komplicirano, ali razdvojit ćemo ga kako biste mogli vidjeti pojedinačne elemente i naučiti malo o osnovama VBA.

Izjava sub

Na početku modula imamo “Sub StoreProdaje ()”. Ovo definira novi podzvan StoreSales.

Možete definirati i funkcije - razlika je u tome što funkcije mogu vraćati vrijednosti, a sub ne mogu (ako ste upoznati s drugim programskim jezicima, sub su ekvivalent metodama). U ovom slučaju ne moramo vratiti vrijednost, pa koristimo pot.

Na kraju modula imamo “Kraj Sub,” što Excelu kaže da smo gotovi s ovom makronaredbom VBA.

Deklariranje varijabli

Svi redovi koda u našoj skripti počinju s “zamagliti.” Dim je VBA naredba za proglašavanje varijable.

Tako “Dim Sum1” stvara novu varijablu zvanu “sum1.” Međutim, trebamo reći Excelu kakva je to varijabla. Moramo odabrati vrstu podataka. U VBA postoji mnogo različitih tipova podataka - potpuni popis možete pronaći u Microsoftovim dokumentima pomoći.

Budući da će se naš makro VBA baviti valutama, koristimo vrstu podataka o valuti.

Izjava “Dim Sum1 kao valuta” kaže Excelu da stvori novu varijablu Valuta koja se zove Sum1. Svaka varijabla koju izjavite treba imati “Kao” izjava da se Excelu kaže njegova vrsta.

Pokretanje for petlje

Petlje su neke od najmoćnijih stvari koje možete stvoriti u bilo kojem programskom jeziku. Ako niste upoznati s petljicama, pogledajte ovo objašnjenje petlja Do-while Kako rade petlje dok rade dok se rade u računalnom programiranju Kako petlje dok rade dok se rade u računalnom programiranju Petlje su jedna od prvih vrsta kontrole koje ćete naučiti u programiranju , Vjerojatno znate za vrijeme i za petlje, ali što postiže petlja "dok traje"? , U ovom primjeru koristimo petlju For, koja je također obrađena u članku.

Evo kako petlja izgleda:

Za svaku ćeliju u rasponu ("C2: C51") [hrpa stvari] Sljedeća ćelija

To kaže Excelu da se ponavlja kroz ćelije u rasponu koji smo odredili. Koristili smo objekt Range Razumijevanje Excel ćelija i funkcija opsega u VBA Razumijevanje Excel ćelija u odnosu na funkcije raspona u VBA Korištenje raspona i ćelija u Excelu može postati vrlo zbunjujuće. Evo kako ih možete koristiti na način na koji vjerojatno niste ni zamislili, uz pomoć VBA, koji je specifična vrsta objekta u VBA. Kad ga koristimo na ovaj način-raspon (“C2: C51”) - kaže Excel-u da nas zanima tih 50 stanica.

“Za svakoga” govori Excelu da ćemo napraviti nešto sa svakom ćelijom u rasponu. “Sljedeća ćelija” dolazi nakon svega što želimo učiniti i kaže Excelu da započne petlju od početka (počevši od sljedeće ćelije).

Imamo i ovu izjavu: “Ako je IsEmpty (ćelija), tada izađite za.”

Možete li pogoditi što to čini?

Bilješka: Strogo govoreći, upotreba petlje Iako možda je bila bolji izbor. 4 Pogreške koje možete izbjeći pri programiranju Excel Makronaredbi s VBA 4 Pogreške koje možete izbjeći pri programiranju Excel Makronaredbi s VBA Jednostavni kôd i makronaredbe ključevi su Microsoft Excel supersila. Čak i neprogrameri mogu lako dodati impresivne funkcionalnosti u svoje proračunske tablice pomoću Virtual Basics for Applications (VBA). Samo izbjegavajte ove početničke pogreške u programiranju! , Međutim, radi podučavanja, odlučio sam upotrijebiti petlju For s izlazom.

Ako-onda-druge izjave

Srž ovog konkretnog makronaredbe nalazi se u izjavama If-Onda-Else. Evo našeg slijeda uvjetnih izjava:

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

Za veći dio, vjerojatno možete pogoditi o čemu se radi u ovim izjavama. Možda možda niste upoznati sa ActiveCell.Offsetom. “ActiveCell.Offset (0, -1)” kaže programu Excel da pogleda ćeliju koja je jedan stupac s lijeve strane aktivne ćelije.

U našem slučaju to govori Excelu da se savjetuje s stupcem broja trgovine. Ako Excel u ovom stupcu pronađe oznaku 1, tada uzima sadržaj aktivne ćelije i dodaje je Sum1. Ako pronađe 2, dodaje sadržaj aktivne ćelije u Sum2. I tako dalje.

Excel prolazi kroz sve te izjave redom. Ako je uvjetna izjava Kako koristiti IF izjave u programu Microsoft Excel Kako koristiti IF izjave u programu Microsoft Excel Bez obzira jeste li iskusni stručnjak ili početnik proračunske tablice, morat ćete provjeriti ovaj vodič za IF izjave u Excelu. zadovoljan je, dovršava izjavu Onda. Ako ne, prelazi u sljedeći ElseIf. Ako stigne do kraja i nije ispunjen nijedan od uvjeta, neće poduzeti ništa.

Kombinacija petlje i uvjeta je ono što pokreće ovu makronaredbu. Petlja govori Excelu da prođe kroz svaku ćeliju u odabiru, a uvjeti kažu da što učiniti s tom ćelijom.

Pisanje ćelijskih vrijednosti

Konačno, dobivamo zapise rezultata svojih izračuna u ćelije. Evo crta koje koristimo za to:

Raspon ("F2"). Vrijednost = Područje Sum1 ("F3"). Vrijednost = Područje Sum2 ("F4"). Vrijednost = Opseg Sum3 ("F5"). Vrijednost = Sum4

S “.Vrijednost” i znak jednake vrijednosti, postavili smo svakoj od tih ćelija vrijednost jedne od naših varijabli.

I to je to! Kažemo Excelu da smo završili s pisanjem ovog Sub-a “Kraj Sub,” i makro VBA je dovršen.

Kad pokrenemo makronaredbu sa Makro gumb u razvijač Kartice dobijamo svote:

Sastavljanje blokova VBA u Excelu

Kad prvi put pogledate makro VBA iznad, izgleda prilično složeno. Ali nakon što je razbijemo na njezine sastavne dijelove, logika postaje jasna. Kao i bilo kojem skriptnom jeziku, potrebno je vremena da se naviknemo na sintaksu VBA.

Ali s praksom ćete nadograditi svoj VBA rječnik i moći ćete pisati makronaredbe brže, točnije i s mnogo više snage nego što biste ih ikad mogli snimiti.

Kada se zaglavite, pokretanje Google pretraživanja brz je način za odgovore na pitanja o VBA. I Microsoftova referenca Excel VBA može vam biti od pomoći ako ste spremni istražiti tehnički odgovor.

Jednom kada vam je ugodno s osnovama, možete početi koristiti VBA za stvari poput slanja e-poruka iz Excela, izvoza Outlookovih zadataka Kako izvesti Outlook zadatke u Excel pomoću VBA Kako izvesti Outlook zadatke u Excel s VBA-om bez obzira jeste li ili ne ljubitelj Microsofta, barem jedna dobra stvar koja se može reći o MS Office proizvodima je kako je jednostavno integrirati svaki od njih jedan s drugim ... i prikazivanje podataka na računalu Kako jednostavno vidjeti sve podatke na računalu Excel VBA skripta Kako vidjeti sve svoje podatke na računalu Pomoću jednostavnog Excela VBA Script Skripta i 10 minuta rada pružit će vam detaljnije informacije o vašem računalu nego što ste ikada smatrali mogućim. Zvuči previše dobro da bi bilo istinito? To je Windows, ako ga znate koristiti. .




eACEUTVMs ([email protected])
12.01.24 21:45
viagra naproxen gastro resistant tablets pil The pharmaceuticals business centres around Suboxone, whichReckitt sells as a film that dissolves in the mouth, used totreat addiction to opioids like heroin <a href=http://cials.buzz>cialis online reviews</a>
iteshyset ([email protected])
19.12.22 05:31
Since the liver has an important role in metabolising estrogen for elimination, turmeric can have an impact on hormone regulation via this mechanism <a href=http://bestcialis20mg.com/>buying cialis online safely</a>
Ragthatly ([email protected])
05.06.22 22:06
Coyfqy Amoxicillin Mouth Dissolve https://newfasttadalafil.com/ - purchasing cialis online Rdkdyu Zyban No Prescription Ffdwfi cialis bon marche <a href=https://newfasttadalafil.com/>buy cialis online without a prescription</a> https://newfasttadalafil.com/ - Cialis Ltadfr cialis conditionnement prix
O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.