VBA Excelissä: Mikä on Visual Basic sovelluksille, kuinka käyttää
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Haluan jatkaa Steve Jobsin viisaita sanoja ja sanoa, että kaikkien ihmisten tulisi oppia ohjelmoimaan tietokone. Sinun ei välttämättä tarvitse päätyä töihin ohjelmoijana tai ohjelmien kirjoittamiseen ollenkaan, mutta se opettaa sinua ajattelemaan.
Mikä on Visual Basic for Applications (VBA)?
Visual Basic sovelluksille (VBA) on tapahtumaohjattu ohjelmointikieli, jonka on toteuttanut Microsoft Office-sovellusten kehittämiseen. VBA auttaa kehittämään automaatioprosesseja, Windows API ja käyttäjän määrittämät toiminnot. Sen avulla voit myös muokata isäntäsovellusten käyttöliittymän ominaisuuksia.
Ennen kuin menemme yksityiskohtiin, katsotaanpa mitä tietokoneohjelmointi on maallikon kielellä. Oletetaan, että sinulla on piika. Jos haluat, että piika siivoaa talon ja pesee pyykkiä. Kerrot hänelle, mitä hänen tulee tehdä vaikkapa englanniksi, ja hän tekee työn puolestasi. Kun työskentelet tietokoneen kanssa, haluat suorittaa tiettyjä tehtäviä. Aivan kuten käskit piikaa tekemään kotityöt, voit myös käskeä tietokoneen tekemään tehtävät puolestasi.
Prosessi, jossa kerrotaan tietokoneelle, mitä haluat sen tekevän puolestasi, on niin kutsuttu tietokoneohjelmointi. Aivan kuten käytit englantia kertomaan piikalle, mitä tehdä, voit myös käyttää englannin kaltaisia lausuntoja kertoaksesi tietokoneelle, mitä tehdä. Englannin kielen kaltaiset lausunnot kuuluvat korkean tason kielten luokkaan. VBA on korkean tason kieli, jonka avulla voit taivuttaa Excelin kaikin tavoin.
VBA on itse asiassa osajoukko Visual Basic 6.0 BASIC sanoista Beginners All-Purpose Ssymbolinen Iohje Coodi.
Miksi VBA?
VBA mahdollistaa englannin kielen kaltaisten lauseiden kirjoittamisen ohjeiden kirjoittamiseen erilaisten sovellusten luomiseen. VBA on helppo oppia, ja siinä on helppokäyttöinen käyttöliittymä, jossa sinun tarvitsee vain vetää ja pudottaa käyttöliittymän säätimet. Sen avulla voit myös parantaa Excelin toimintoja saattamalla sen toimimaan haluamallasi tavalla.
VBA:n henkilökohtaiset ja yrityssovellukset Excelissä
Henkilökohtaiseen käyttöön voit käyttää sitä yksinkertaisiin makroihin, jotka automatisoivat useimmat rutiinitehtävät. Lue makroja koskeva artikkeli saadaksesi lisätietoja siitä, kuinka voit saavuttaa tämän.
Yrityskäyttöön voit luoda täydellisiä tehokkaita ohjelmia Excelin ja VBA:n avulla. Tämän lähestymistavan etuna on, että voit hyödyntää Excelin tehokkaita ominaisuuksia omissa mukautetuissa ohjelmissasi.
Visual Basic for Applications -sovelluksen esittely
Ennen kuin voimme kirjoittaa mitään koodia, meidän on ensin tiedettävä perusasiat. Seuraavat perusasiat auttavat sinua pääsemään alkuun.
- Muuttuja – lukiossa opimme algebraa. Etsi (x + 2y), jossa x = 1 ja y = 3. Tässä lausekkeessa x ja y ovat muuttujia. Niille voidaan antaa mitkä tahansa numerot, esim. 1 ja 3, kuten tässä esimerkissä. Ne voidaan myös muuttaa esimerkiksi 4:ksi ja 2:ksi. Muuttujat lyhyesti ovat muistipaikkoja. Kun työskentelet VBA Excelillä, sinun on myös ilmoitettava muuttujat, kuten algebraluokissa
-
Säännöt muuttujien luomiseksi
- Älä käytä varattuja sanoja – jos työskentelet opiskelijana, et voi käyttää nimikettä luennoitsija tai rehtori. Nämä nimikkeet on varattu opettajille ja kouluviranomaisille. Varatut sanat ovat sanoja, joilla on erityinen merkitys Excel VBA:ssa, joten et voi käyttää niitä muuttujien niminä.
- Muuttujien nimet eivät saa sisältää välilyöntejä – et voi määrittää muuttujaa, jonka nimi on ensimmäinen numero. Voit käyttää ensin numeroa tai ensimmäinen_numero.
- Käytä kuvaavia nimiä – on erittäin houkuttelevaa nimetä muuttuja itsesi mukaan, mutta vältä tätä. Käytä kuvaavia nimiä, kuten määrä, hinta, välisumma jne. Tämä tekee Excel VBA -koodistasi helposti luettavan
-
Aritmeettiset operaattorit – säännöt Brackets Division Multiplication Addition and Subtraction (BODMAS), joten muista käyttää niitä, kun työskentelet lausekkeiden kanssa, jotka käyttävät useita eri aritmeettisia operaattoreita. Aivan kuten excelissä, voit käyttää
- + lisäystä varten
- – vähennyslaskua varten
- * kertolaskua varten
- / jakoon.
-
Loogiset operaattorit – Aikaisemmissa opetusohjelmissa käsitelty loogisten operaattoreiden käsite pätee myös VBA:n kanssa työskennellessä. Nämä sisältävät
- Jos lausunnot
- OR
- ÄLÄ
- JA
- TOSI
- VÄÄRÄ
Kuinka ottaa Kehittäjä-välilehti käyttöön
Alla on vaiheittainen prosessi kehittäjä-välilehden käyttöönottamiseksi Excelissä:
- Luo uusi työkirja
- Napsauta nauhan aloituspainiketta
- Valitse
- Napsauta mukauta nauhaa
- Valitse kehittäjävalintaruutu alla olevan kuvan mukaisesti
- OK
Näet nyt KEHITTÄJÄ-välilehden nauhassa
VBA Hello World!
Nyt näytämme kuinka ohjelmoida VBA-ohjelmointikielellä. Kaikkien VBA:n ohjelmien on aloitettava "Sub" ja loputtava "End sub". Tässä nimi on nimi, jonka haluat määrittää ohjelmallesi. Vaikka sub tarkoittaa aliohjelmaa, jonka opimme opetusohjelman myöhemmässä osassa.
Sub name() . . . End Sub
Luomme VBA-perusohjelman, joka näyttää syöttöruudun pyytääkseen käyttäjän nimeä ja näyttää sitten tervehdysviestin
Tämä opetusohjelma olettaa, että olet suorittanut opetusohjelman Makrot excelissä ja olet ottanut KEHITTÄJÄ-välilehden käyttöön Excelissä.
- Luo uusi työkirja
- Tallenna se Excel-makroa tukevaan taulukkomuotoon *.xlsm
- Napsauta KEHITTÄJÄ-välilehteä
- Napsauta LISÄÄ pudotusvalikkoa ohjausnauhapalkin alla
- Valitse komentopainike alla olevan kuvan mukaisesti
Piirrä komentopainike mihin tahansa laskentataulukon kohtaan
Saat seuraavan dialogi-ikkunan
- Nimeä makro uudelleen nimellä btnHelloWorld_Click
- Napsauta uutta painiketta
- Saat seuraavan VBA-koodiikkunan
Syötä seuraavat ohjekoodit
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
TÄSSÄ,
- "Dim name as String" luo muuttujan nimeltä nimi. Muuttuja hyväksyy tekstiä, numeerisia ja muita merkkejä, koska määritimme sen merkkijonoksi
- "nimi = SyöteBox("Kirjoita nimesi")" kutsuu sisäänrakennettua toimintoa InputBox joka näyttää ikkunan, jossa on teksti Kirjoita nimesi. Syötetty nimi tallennetaan sitten nimimuuttujaan.
- "MsgBox "Hei" + nimi kutsuu sisäänrakennettua toimintoa MsgBox joka näyttää Hello ja syötetyn nimen.
Koko koodiikkunasi pitäisi nyt näyttää seuraavalta
- Sulje koodiikkuna
- Napsauta hiiren kakkospainikkeella painiketta 1 ja valitse muokkaa tekstiä
- Syötä Sano hei
- Napsauta Sano hei
- Saat seuraavan syöttölaatikon
- Kirjoita nimesi eli Jordan
- Saat seuraavan viestilaatikon
Onnittelut, loit juuri ensimmäisen VBA-ohjelmasi Excelissä
Vaiheittainen esimerkki yksinkertaisen EMI-laskimen luomisesta Excelissä
Tässä opetusharjoituksessa aiomme luoda yksinkertaisen ohjelman, joka laskee EMI:n. EMI on lyhenne sanoista Equated Monthly Instament. Se on kuukausittainen summa, jonka maksat takaisin, kun saat lainaa. Seuraava kuva näyttää EMI:n laskentakaavan.
Yllä oleva kaava on monimutkainen ja voidaan kirjoittaa Excelissä. Hyvä uutinen on, että Excel on jo hoitanut yllä olevan ongelman. Voit käyttää PMT-funktiota yllä olevan laskemiseen.
PMT-toiminto toimii seuraavasti
=PMT(rate,nper,pv)
TÄSSÄ,
- "Korko" tämä on kuukausihinta. Se on korko jaettuna maksujen määrällä vuodessa
- "nper" se on maksujen kokonaismäärä. Se on laina-aika kerrottuna maksujen määrällä vuodessa
- "pv" nykyarvo. Se on todellinen lainasumma
Luo graafinen käyttöliittymä käyttämällä Excel-soluja alla olevan kuvan mukaisesti
Lisää komentopainike rivien 7 ja 8 väliin
Anna painikkeelle makrolle nimi btnCalculateEMI_Click
Napsauta muokkauspainiketta
Syötä seuraava koodi
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double monthly_rate = Range("B6").Value / Range("B5").Value loan_amount = Range("B3").Value number_of_periods = Range("B4").Value * Range("B5").Value emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount) Range("B9").Value = emi
TÄSSÄ,
- “Dim monthly_rate As Single,…” Dim on avainsana, jota käytetään määrittelemään muuttujat VBA:ssa, monthly_rate on muuttujan nimi, Single on tietotyyppi, joka tarkoittaa, että muuttuja hyväksyy numeron.
- "monthly_rate = Väli("B6").Arvo / Väli("B5").Arvo" Alue on funktio, jota käytetään Excel-solujen käyttämiseen VBA:sta, Range("B6"). Arvo viittaa B6:n arvoon
- "WorksheetFunction.Pmt(…)" WorksheetFunction on toiminto, jota käytetään kaikkien Excelin toimintojen käyttämiseen
Seuraava kuva näyttää täydellisen lähdekoodin
- Napsauta Tallenna ja sulje koodiikkuna
- Testaa ohjelmaa alla olevan animoidun kuvan mukaisesti
VBA:n käyttäminen Excelissä Esimerkki
Seuraavat vaiheet selittävät, kuinka VBA:ta käytetään Excelissä.
Vaihe 1) Avaa VBA-editori
Napsauta päävalikon Kehittäjä-välilehdellä "Visual Basic" -kuvaketta, jolloin VBA-editorisi avautuu.
Vaihe 2) Valitse Excel-taulukko ja Double napsauta laskentataulukkoa
Se avaa VBA-editorin, josta voit valita Excel-taulukon, jossa haluat suorittaa koodin. Avaa VBA-editori kaksoisnapsauttamalla laskentataulukkoa.
Se avaa VBA-editorin kansion oikealle puolelle. Se näyttää valkoiselta väliltä.
Vaihe 3) Kirjoita viestiin mitä haluat näyttääBox
Tässä vaiheessa aiomme nähdä ensimmäisen VBA-ohjelmamme. Tarvitsemme objektin lukeaksemme ja näyttääksemme ohjelmamme. VBA:ssa viestissä oleva objekti tai tietovälineBox.
- Kirjoita ensin "Sub" ja sitten "ohjelman nimi" (Guru99)
- Kirjoita viestiin mitä haluat näyttääBox (guru99-oppiminen on hauskaa)
- Lopeta ohjelma valitsemalla End Sub
Vaihe 4) Napsauta editorin yläosassa olevaa vihreää suorituspainiketta
Seuraavassa vaiheessa sinun on suoritettava tämä koodi napsauttamalla vihreää Suorita-painiketta editorivalikon yläosassa.
Vaihe 5) Valitse arkki ja napsauta "Suorita" -painiketta
Kun suoritat koodin, toinen ikkuna avautuu. Täällä sinun on valittava arkki, jossa haluat näyttää ohjelman, ja napsauta "Suorita" -painiketta
Vaihe 6) Näytä viesti kohdassa ViestiBox
Kun napsautat Suorita-painiketta, ohjelma suoritetaan. Se näyttää viestin kohdassa ViestiBox.
Yhteenveto
VBA täysi lomake: Visual Basic sovelluksiin. Se on Visual Basic -ohjelmointikielen alikomponentti, jonka avulla voit luoda sovelluksia Excelissä. VBA:n avulla voit silti hyödyntää Excelin tehokkaita ominaisuuksia ja käyttää niitä VBA:ssa.