Visual Basic for Application ( VBA ) on ohjelmointikieli , jonka avulla voit laajentaa Excelin toimintoja ja automatisoida toistuvia tehtäviä. VBA:n avulla voit luoda makroja, lomakkeita, mukautettuja toimintoja ja interaktiivisia sovelluksia. Tässä artikkelissa opit VBA:n perusteet Excelissä ja kuinka sitä käytetään yksinkertaisten tai monimutkaisten toimintojen suorittamiseen.
Kuinka käyttää VBA:ta Excelissä?
Jotta voit käyttää VBA:ta Excelissä, sinun on otettava käyttöön Kehittäjä-välilehti nauhassa. Voit tehdä tämän seuraavasti:
- Napsauta Tiedosto-painiketta ja sitten Asetukset.
- Napsauta Excelin asetukset -ikkunassa Mukauta nauhaa.
- Valitse päävälilehtien luettelosta Kehittäjä-ruutu ja napsauta sitten OK.
Sen jälkeen Kehittäjä-välilehti tulee näkyviin nauhaan. Tämä välilehti sisältää useita VBA:han liittyviä työkaluja, kuten Visual Basic -painikkeen, Tallenna makro -painikkeen tai Insert Control -painikkeen.
Visual Basic -painike avaa Visual Basic Editorin (VBE), jossa voit luoda ja muokata VBA-koodia. Tallenna makro -painike luo automaattisesti VBA-koodin, joka toistaa sovelluksessa tekemäsi toiminnot. Lisää ohjausobjekti -painikkeella voit lisätä laskentataulukkoon interaktiivisia elementtejä, kuten painikkeita, valintaruutuja tai avattavia luetteloita.
Kuinka kirjoittaa VBA-koodi Exceliin?
VBA-koodin kirjoittamiseen Excelissä on käytettävä Visual Basic Editoria (VBE). Avaa se napsauttamalla Visual Basic -painiketta nauhan Kehittäjä-välilehdellä.
VBE koostuu useista ikkunoista:
- Projekti-ikkuna näyttää VBA-koodia sisältävien objektien hierarkkisen rakenteen. Jos sinulla on esimerkiksi työkirja nimeltä OmaTyökirja.xlsm, jossa on kaksi taulukkoa nimeltä Taulukko1 ja Taulukko2, näet Objektit Taulukko1 ja Taulukko2 sekä objektin nimeltä ThisWorkbook näkyvät kohdassa OmaTyökirja.xlsm.
- Ominaisuudet-ikkuna näyttää Projekti-ikkunassa valitun objektin ominaisuudet. Jos esimerkiksi valitset Sheet1-objektin, näet sen ominaisuudet, kuten sen nimen (Name), sen värin (Tab.Color), sen koodin (CodeName) jne.
- Koodi-ikkunassa näkyy Projekti-ikkunassa valittuun objektiin liittyvä VBA-koodi. Jos esimerkiksi valitset Sheet1-objektin, näet VBA-koodin, joka suoritetaan, kun käytät Sheet1-laskentataulukkoa.
- Välitön ikkuna näyttää VBA-kooditulokset tai virheilmoitukset. Jos esimerkiksi käytät MsgBox-toimintoa viestin näyttämiseen käyttäjälle, näet viestin välittömässä ikkunassa.
VBA-koodin kirjoittamiseksi sinun on noudatettava tiettyjä syntaksisääntöjä:
- Jokaisen lauseen tulee päättyä rivinvaihtoon tai kaksoispisteeseen (:).
- VBA-kielen avainsanat on kirjoitettava isoilla tai pienillä kirjaimilla, mutta ei objektien, ominaisuuksien tai menetelmien nimiä, jotka erottelevat isot ja pienet kirjaimet.
- Kommentteja edeltää heittomerkki (') tai Rem, ja ne on kirjoitettava erilliselle riville tai lausunnon jälkeen.
- Merkkijonojen ympärillä on oltava lainausmerkit (“).
- Aritmeettiset operaattorit ovat +, -, *, / ja ^ (teho).
- Loogiset operaattorit ovat And, Or, Not, Xor ja Eqv.
- Vertailuoperaattorit ovat =, <>, <, <=, > ja >=.
- Ennalta määritetyt vakiot ovat True, False, Null, Empty, Nothing ja vbNullString.
Tässä on esimerkki VBA-koodista, joka näyttää viestin käyttäjälle:
Sub Hello() ' Tämä on MsgBox-kommentti "Hei, olen Bing!" ' Näyttää End Sub -viestin
Kuinka käyttää Excelin taulukkolaskentatoimintoja VBA:ssa?
Voit käyttää useimpia Excel-laskentataulukkofunktioita VBA-lausekkeissasi. Tätä varten sinun on käytettävä seuraavaa syntaksia:
Application.WorksheetFunction.FunctionName(argumentti1, argumentti2, ...)
Jos esimerkiksi haluat käyttää SUMMA-funktiota laskeaksesi arvojen summan alueella A1:A10, voit kirjoittaa:
Sub Sum() Dim result As Double ' Ilmoittaa muuttujan tyyppiä Double result = Application.WorksheetFunction.Sum(Range("A1:A10")) ' Liittää SUM-funktion tuloksen muuttujaan MsgBox result ' Näyttää tuloksen End Sub
Voit myös käyttää mukautettuja toimintoja, jotka luot itse VBA:ssa. Tätä varten sinun on käytettävä seuraavaa syntaksia:
Funktio FunctionName(argumentti1 Tyyppinä1, argumentti2 Tyyppinä2, ...) Paluutyyppinä ' Selitykset ja ohjeet FunctionName = lauseke ' Määrittää funktiolle palautettavan tuloksen Loppufunktio
Jos esimerkiksi haluat luoda funktion, joka laskee luvun neliön, voit kirjoittaa:
Funktio Neliö(numero As Double) Tupla ' Ilmoittaa funktion, joka ottaa luvun argumenttina ja palauttaa luvun Neliö = numero * numero ' Määrittää luvun neliön funktiolle Lopeta funktio
Voit sitten käyttää tätä funktiota VBA-lauseissasi tai Excel-kaavoissasi. Esimerkiksi :
Sub Test() Dim x As Double ' Ilmoittaa muuttujan, jonka tyyppi on Double x = 5 ' Asettaa arvon 5 muuttujalle MsgBox Square(x) ' Näyttää x:n neliön End Sub
Kuinka luoda makroja Excelissä?
Makro on joukko VBA-käskyjä, jotka suoritetaan kaikki kerralla. Voit luoda makroja automatisoidaksesi toistuvia tai monimutkaisia tehtäviä Excelissä. Makroja voidaan luoda kahdella tavalla: tallentamalla ne tai kirjoittamalla ne.
Nauhoita makro
Makron tallentaminen edellyttää, että käytät Nauhoita makro -painiketta nauhan Kehittäjä-välilehdellä Excelissä suorittamiesi toimintojen tallentamiseen ja niiden muuntamiseen VBA-koodiksi. Tämä on yksinkertaisin ja nopein tapa luoda makro, mutta se voi tuottaa huonosti optimoitua tai redundanttia koodia.
Voit tallentaa makron seuraavasti:
- Napsauta Tallenna makro -painiketta nauhan Kehittäjä-välilehdellä.
- Anna makrolle nimi Tallenna makro -valintaikkunassa, valitse pikanäppäin, jos haluat, valitse makron tallennuspaikka (aktiivinen työkirja, uusi työkirja tai henkilökohtainen työkirja) ja kirjoita kuvaus, jos haluat .
- Aloita tallennus napsauttamalla OK.
- Suorita toiminnot, jotka haluat automatisoida Excelissä. Jos esimerkiksi haluat luoda makron, joka muotoilee taulukon, valitse taulukko, muotoile se, lajittele se aakkosjärjestykseen jne.
- Lopeta tallennus napsauttamalla Lopeta tallennus -painiketta nauhan Kehittäjä-välilehdellä.
Voit sitten suorittaa makrosi valitsemallasi pikanäppäimellä, napsauttamalla Makrot-painiketta nauhan Kehittäjä-välilehdellä tai käyttämällä VBE:n Suorita-painiketta.
Kirjoita makro
Makron kirjoittamiseen kuuluu VBE:n käyttäminen automatisoitavia toimintoja vastaavan VBA-koodin kirjoittamiseen suoraan. Tämä on joustavin ja tehokkain menetelmä makron luomiseen, mutta se vaatii ohjelmointiosaamista.
Voit kirjoittaa makron seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta nauhan Kehittäjä-välilehdellä.
- Valitse Projekti-ikkunassa objekti, johon haluat tallentaa makrosi (aktiivinen työkirja, uusi työkirja tai henkilökohtainen työkirja).
- Kirjoita Koodi-ikkunaan VBA-koodi, joka vastaa automatisoitavia toimintoja. Jos esimerkiksi haluat luoda makron, joka muotoilee taulukon, kirjoita seuraava koodi:
Sub FormatTable() ' Valitsee taulukon Range("A1:D10").Select ' Käyttää tyyliä taulukkoon Selection.Style = "Taulukko 1" ' Lajittelee taulukon aakkosjärjestykseen sarakkeen A ActiveWorkbook.Worksheets("Sheet1" ) mukaan. Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A10") _ , SortOn:=xlSortOnValues, Order:=xlNouseva, Withet Active.taibook. ("Sheet1").Lajittele .SetRange Range("A1:D10") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Voit sitten suorittaa makrosi käyttämällä VBE:n Suorita-painiketta tai määrittämällä sille pikanäppäimen tai säätimen.
UKK
Tässä on joitain usein kysyttyjä kysymyksiä VBA:n käyttämisestä Excelissä:
Mikä on VBA ja miksi sitä käytetään?
VBA on Visual Basicin versio, joka toimitetaan Microsoft Officen mukana. Se on olio-ohjelmointikieli , joka käyttää luonnollista kieltä lähellä olevaa syntaksia. VBA:n avulla voit käyttää ja käsitellä Excelin objekteja, ominaisuuksia ja menetelmiä koodin avulla. Voit siis hallita Exceliä hienommin ja tehokkaammin kuin graafisen käyttöliittymän kautta.
VBA:lla on useita etuja:
- Voit automatisoida toistuvia tai tylsiä tehtäviä, kuten tietojen puhdistamisen, taulukoiden muotoilun, kaavioiden luomisen ja paljon muuta.
- Voit mukauttaa Exceliä tarpeidesi mukaan lisäämällä ominaisuuksia, joita ohjelmistossa ei ole, tai muuttamalla sen toimintaa.
- Voit olla vuorovaikutuksessa käyttäjän kanssa valintaikkunoiden, lomakkeiden tai mukautettujen viestien avulla.
- Voit integroida Excelin muihin Office-sovelluksiin tai ulkoisiin tietolähteisiin, kuten Outlookiin, Wordiin, Accessiin, SQL Serveriin jne.
Kuinka korjata VBA-koodi Excelissä?
VBA-koodin virheenkorjaukseen Excelissä voit käyttää VBE-työkaluja, kuten keskeytyskohtia, askellusta, katseluikkunaa tai aluekohtaista ikkunaa. Näiden työkalujen avulla voit hallita koodin suorittamista, tarkistaa muuttujien arvot ja havaita virheitä.
Kuinka suojata VBA-koodi Excelissä?
Voit suojata VBA-koodia Excelissä lukitsemalla VBA-projektin salasanalla. Voit tehdä tämän seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta nauhan Kehittäjä-välilehdellä.
- Napsauta Projekti-ikkunassa hiiren kakkospainikkeella VBA-projektin nimeä ja valitse VBA-projektin ominaisuudet.
- Napsauta VBA-projektin ominaisuudet -valintaikkunassa Suojaus-välilehteä.
- Valitse Lukitse projekti katselua varten -ruutu ja kirjoita salasana ja vahvista se.
- Napsauta OK sulkeaksesi valintaikkunan.
- Tallenna ja sulje työkirja.
Kuinka suorittaa makro avattaessa tai suljettaessa työkirjaa?
Jos haluat suorittaa makron, kun avaat tai suljet työkirjan, sinun on käytettävä Workbook_Open- tai Workbook_BeforeClose-tapahtumia. Voit tehdä tämän seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta nauhan Kehittäjä-välilehdellä.
- Valitse Project-ikkunassa ThisWorkbook-objekti työkirjan nimen alta.
- Valitse Koodi-ikkunassa vasemmassa yläkulmassa olevasta avattavasta Objekti-luettelosta Työkirja.
- Valitse oikeassa yläkulmassa olevasta avattavasta Menettelyluettelosta Avaa tai Ennen sulkemista.
- Kirjoita VBA-koodi, joka kutsuu suoritettavaa makroa. Esimerkiksi :
Private Sub Workbook_Open() ' Suorittaa Hello-makron avattaessa työkirjaa Hello End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' Suorittaa AuRevoir-makron, kun työkirja suljetaan AuRevoir End Sub
Kuinka luoda lomake Excelissä VBA: lla?
Luodaksesi lomakkeen Excelissä VBA:lla, sinun on käytettävä VBE:n lomakesuunnittelijaa. Voit tehdä tämän seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta nauhan Kehittäjä-välilehdellä.
- Napsauta Project-ikkunassa hiiren kakkospainikkeella VBA-projektin nimeä ja valitse Lisää ja sitten UserForm.
- Uusi UserForm-ikkuna avautuu. Voit lisätä siihen ohjaimia, kuten tarroja, tekstiruutuja, painikkeita jne. vetämällä ne työkalulaatikosta.
- Voit muokata ohjaimien ominaisuuksia Ominaisuudet-ikkunassa tai kirjoittaa VBA-koodin käsittelemään niiden tapahtumia Koodi-ikkunassa.
- Voit näyttää lomakkeen Näytä-menetelmällä. Esimerkiksi :
Sub ShowForm() ' Näyttää lomakkeen UserForm1 UserForm1.Show End Sub
Kuinka luoda mukautettu funktio Excelissä VBA: lla?
Jos haluat luoda mukautetun funktion Excelissä VBA:lla, sinun on käytettävä seuraavaa syntaksia:
Funktio FunctionName(argumentti1 Tyyppinä1, argumentti2 Tyyppinä2, ...) Paluutyyppinä ' Selitykset ja ohjeet FunctionName = lauseke ' Määrittää funktiolle palautettavan tuloksen Loppufunktio
Jos esimerkiksi haluat luoda funktion, joka laskee luvun neliön, voit kirjoittaa:
Funktio Neliö(numero As Double) Tupla ' Ilmoittaa funktion, joka ottaa luvun argumenttina ja palauttaa luvun Neliö = numero * numero ' Määrittää luvun neliön funktiolle Lopeta funktio
Voit sitten käyttää tätä funktiota VBA-lauseissasi tai Excel-kaavoissasi. Esimerkiksi :
Sub Test() Dim x As Double ' Ilmoittaa muuttujan, jonka tyyppi on Double x = 5 ' Asettaa arvon 5 muuttujalle MsgBox Square(x) ' Näyttää x:n neliön End Sub
Voit myös käyttää mukautettuja toimintoja, jotka luot itse VBA:ssa. Tätä varten sinun on käytettävä seuraavaa syntaksia:
Funktio FunctionName(argumentti1 Tyyppinä1, argumentti2 Tyyppinä2, ...) Paluutyyppinä ' Selitykset ja ohjeet FunctionName = lauseke ' Määrittää funktiolle palautettavan tuloksen Loppufunktio
Jos esimerkiksi haluat luoda funktion, joka laskee luvun neliön, voit kirjoittaa:
Funktio Neliö(numero As Double) Tupla ' Ilmoittaa funktion, joka ottaa luvun argumenttina ja palauttaa luvun Neliö = numero * numero ' Määrittää luvun neliön funktiolle Lopeta funktio
Voit sitten käyttää tätä funktiota VBA-lauseissasi tai Excel-kaavoissasi. Esimerkiksi :
Sub Test() Dim x As Double ' Ilmoittaa muuttujan, jonka tyyppi on Double x = 5 ' Asettaa arvon 5 muuttujalle MsgBox Square(x) ' Näyttää x:n neliön End Sub
Tai
=Neliö(A1) ' Laskee solun A1 arvon neliön
Johtopäätös
Opit tässä artikkelissa käyttämään Visual Basic for Application (VBA) -ohjelmaa Excelissä. Olet nähnyt, mitä VBA on ja miksi sitä käytetään, miten VBA:ta käytetään Excelissä, kuinka VBA-koodia kirjoitetaan Excelissä, kuinka käytetään Excelin laskentataulukkotoimintoja VBA:ssa, kuinka luodaan makroja Excelissä VBA:lla, miten luodaan lomakkeita Excel VBA:lla ja mukautettujen funktioiden luominen Excelissä VBA:n kanssa. VBA:lla luotavista mukautetuista funktioista on vähennyslasku Excelissä . Voit nyt käyttää VBA:n ohjelmointitehoa mukauttaaksesi ja automatisoidaksesi Exceliä tarpeen mukaan.