Visual Basic for Applications ( VBA ) on ohjelmointikieli , jonka avulla voit laajentaa Excelin toiminnallisuutta ja automatisoida toistuvia tehtäviä. VBA:n avulla voit luoda makroja, lomakkeita, mukautettuja funktioita ja vuorovaikutteisia sovelluksia. Tässä artikkelissa opit VBA:n perusteet Excelissä ja sen käytön yksinkertaisten tai monimutkaisten toimintojen suorittamiseen.
Miten pääsen VBA:han Excelissä?

Päästäksesi VBA:han Excelissä sinun on aktivoitava Kehittäjät-välilehti valintanauhassa. Voit tehdä tämän seuraavasti:
- Napsauta Tiedosto-painiketta ja valitse sitten Asetukset.

- Valitse Excelin asetukset -ikkunassa Mukauta valintanauhaa.

- Valitse päävälilehtien luettelosta Kehittäjä-ruutu ja napsauta sitten OK.
Näet sitten Kehittäjä-välilehden ilmestyvän valintanauhaan. Tämä välilehti sisältää useita VBA:han liittyviä työkaluja, kuten Visual Basic -painikkeen, Tallenna makro -painikkeen ja Lisää ohjausobjekti -painikkeen.


Visual Basic -painike avaa Visual Basic Editorin (VBE), jossa voit luoda ja muokata VBA-koodia. Tallenna makro -painike luo automaattisesti VBA-koodia, joka kopioi sovelluksessa suorittamasi toiminnot. Lisää ohjausobjekti -painikkeen avulla voit lisätä laskentataulukkoon interaktiivisia elementtejä, kuten painikkeita, valintaruutuja tai avattavia luetteloita.
Miten kirjoitan VBA-koodia Excelissä?
VBA-koodin kirjoittamiseen Excelissä on käytettävä Visual Basic Editoria (VBE). Avaa se napsauttamalla valintanauhan Kehittäjät-välilehden Visual Basic -painiketta.
VBE koostuu useista ikkunoista:

- Projekti-ikkunassa näkyy VBA-koodia sisältävien objektien hierarkkinen rakenne. Jos sinulla on esimerkiksi työkirja nimeltä MyWorkbook.xlsm, jossa on kaksi taulukkoa nimeltä Sheet1 ja Sheet2, näet objektit Sheet1 ja Sheet2 näkyvät tiedostossa MyWorkbook.xlsm, samoin kuin objektin nimeltä ThisWorkbook.

- Ominaisuudet-ikkuna näyttää Projekti-ikkunassa valitun objektin ominaisuudet. Jos esimerkiksi valitset Sheet1-objektin, näet sen ominaisuudet, kuten nimen (Name), värin (Tab.Color), koodin (CodeName) jne.

- Koodi-ikkuna näyttää Projekti-ikkunassa valittuun objektiin liittyvän VBA-koodin. Jos esimerkiksi valitset Sheet1-objektin, näet VBA-koodin, joka suoritetaan, kun käsittelet Sheet1-laskentataulukkoa.

- Välitön ikkuna näyttää VBA-koodin tai virhesanomien tulokset. Jos esimerkiksi käytät MsgBox-funktiota viestin näyttämiseen käyttäjälle, viesti näkyy välittömässä ikkunassa.

VBA-koodin kirjoittamiseen on noudatettava tiettyjä syntaksisääntöjä:
- Jokaisen käskyn on päätyttävä rivinvaihtoon tai kaksoispisteeseen (:).
- VBA-kielen avainsanat on kirjoitettava isoilla tai pienillä kirjaimilla, mutta ei objektien, ominaisuuksien tai metodien nimiä, joissa kirjainkoko on merkitsevä.
- Kommenttien edessä on oltava heittomerkki (') tai Rem, ja ne on kirjoitettava omalle rivilleen tai käskyn jälkeen.
- Merkkijonojen on oltava lainausmerkkien sisällä (" ").
- Aritmeettiset operaattorit ovat +, -, *, / ja ^ (potenssi).
- Loogiset operaattorit ovat And, Or, Not, Xor ja Eqv.
- Vertailuoperaattorit ovat =, <>, <, <=, > ja >=.
- Valmiiksi määritellyt 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 kommentti MsgBox "Hei, olen Bing!" ' Näyttää viestin End Sub
Kuinka käyttää Excel-taulukkolaskentafunktioita VBA:ssa?
Voit käyttää useimpia Excel-taulukkofunktioita VBA-ohjeissasi. Tätä varten sinun on käytettävä seuraavaa syntaksia:
Sovellus.Työarkkifunktio.FunktionNimi(argumentti1, argumentti2, ...)
Jos esimerkiksi haluat käyttää SUMMA-funktiota laskemaan alueen A1:A10 arvojen summan, voit kirjoittaa:
Sub Sum() Dim result As Double ' Määrittelee Double-tyyppisen muuttujan result = Application.WorksheetFunction.Sum(Range("A1:A10")) ' Asettaa SUMMA-funktion tuloksen muuttujaan MsgBox result ' Näyttää tuloksen End Sub
Voit myös käyttää itse VBA:ssa luomiasi mukautettuja funktioita. Tätä varten sinun on käytettävä seuraavaa syntaksia:
Funktio FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Määrittelyt ja ohjeet FunctionName = lauseke ' Asettaa palautettavan tuloksen funktiolle End Function
Jos esimerkiksi haluat luoda funktion, joka laskee luvun neliön, voit kirjoittaa:
Funktio Neliö(luku As Double) As Double ' Määrittelee funktion, joka ottaa argumentiksi luvun ja palauttaa sen Neliö = luku * luku ' Asettaa luvun neliön funktiolle End Function
Voit sitten käyttää tätä funktiota VBA-ohjeissasi tai Excel-kaavoissasi. Esimerkiksi:
Sub Test() Dim x As Double ' Määrittelee muuttujan, jonka tyyppi on Double x = 5 ' Asettaa muuttujalle arvon 5 MsgBox Square(x) ' Näyttää x:n neliön End Sub
Miten luon makroja Excelissä?
Makro on joukko VBA-käskyjä, jotka suoritetaan kerran. Voit luoda makroja automatisoidaksesi toistuvia tai monimutkaisia tehtäviä Excelissä. Makroja voi luoda kahdella tavalla: tallentamalla ne tai kirjoittamalla ne.
Makron tallentaminen
Makron tallentaminen tarkoittaa valintanauhan Kehittäjät-välilehden Tallenna makro -painikkeen käyttöä 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 tarpeetonta koodia.
Voit tallentaa makron seuraavasti:
- Napsauta valintanauhan Kehittäjä-välilehden Tallenna makro -painiketta.

- Anna Makron tallennus -valintaikkunassa makrolle nimi, valitse halutessasi pikanäppäin, valitse makron tallennussijainti (aktiivinen työkirja, uusi työkirja tai henkilökohtainen työkirja) ja kirjoita halutessasi kuvaus.

- Aloita tallennus napsauttamalla OK.
- Suorita Excelissä toiminnot, jotka haluat automatisoida. Jos esimerkiksi haluat luoda makron, joka muotoilee taulukon, valitse taulukko, lisää siihen tyyli, lajittele se aakkosjärjestykseen jne.
- Lopeta tallennus napsauttamalla valintanauhan Kehittäjä-välilehden Lopeta tallennus -painiketta.
Voit sitten suorittaa makron valitsemallasi pikanäppäimellä, napsauttamalla valintanauhan Kehittäjä-välilehden Makrot-painiketta tai käyttämällä VBE:n Suorita-painiketta.
Kirjoita makro
Makron kirjoittaminen tarkoittaa VBE:n käyttöä automatisoitavia toimintoja vastaavan VBA-koodin kirjoittamiseen suoraan. Se on joustavin ja tehokkain tapa luoda makro, mutta se vaatii ohjelmointiosaamista.
Voit kirjoittaa makron seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta valintanauhan Kehittäjät-välilehdessä.

- Valitse Projekti-ikkunassa objekti, johon haluat tallentaa makron (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 mukaan ActiveWorkbook.Worksheets("Taulukko1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Taulukko1").Sort.SortFields.Add Key:=Range("A2:A10") , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Taulukko1").Sort .SetRange Range("A1:D10") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Voit sitten suorittaa makron VBE:n Suorita-painikkeella tai määrittämällä sille pikanäppäimen tai ohjausobjektin.

UKK
Tässä on joitakin usein kysyttyjä kysymyksiä VBA:n käytöstä Excelissä:
Mikä on VBA ja miksi sitä käytetään?
VBA on Microsoft Officen mukana tuleva Visual Basicin versio. Se on olio-ohjelmointikieli , joka käyttää luonnollisen kielen kaltaista syntaksia. VBA:n avulla voit käyttää ja käsitellä Excelin objekteja, ominaisuuksia ja metodeja koodin avulla. Tämä antaa sinulle tarkemman ja tehokkaamman hallinnan Excelissä kuin graafisen käyttöliittymän kautta.
VBA:n käyttäminen tarjoaa useita etuja:
- Voit automatisoida toistuvia tai tylsiä tehtäviä, kuten tietojen siivouksen, taulukoiden muotoilun, kaavioiden luomisen jne.
- Voit mukauttaa Exceliä omiin tarpeisiisi lisäämällä ominaisuuksia, joita ei ole ohjelmistossa, tai muokkaamalla 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 VBA-koodia voi debugata Excelissä?
Voit korjata VBA-koodia Excelissä VBE-työkaluilla, kuten keskeytyskohdilla, askelluksella, seurantaikkunalla tai kieli-ikkunalla. Näiden työkalujen avulla voit hallita koodin suoritusta, tarkistaa muuttujien arvoja ja paikantaa virheitä.
Kuinka suojata VBA-koodia Excelissä?
Voit suojata VBA-koodia Excelissä lukitsemalla VBA-projektin salasanalla. Voit tehdä tämän seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta valintanauhan Kehittäjät-välilehdessä.
- Napsauta Projekti-ikkunassa hiiren kakkospainikkeella VBA-projektin nimeä ja valitse VBA-projektin ominaisuudet.
- Napsauta VBA-projektin ominaisuudet -valintaikkunassa Suojaus-välilehteä.
- Lukitse projekti katselua varten valitsemalla ruutu ja kirjoittamalla salasana. Vahvista se.
- Sulje valintaikkuna napsauttamalla OK.
- Tallenna ja sulje työkirja.
Miten suoritan makron avattaessa tai suljettaessa työkirjaa?
Jos haluat suorittaa makron, kun työkirja avataan tai suljetaan, sinun on käytettävä Workbook_Open- tai Workbook_BeforeClose-tapahtumia. Voit tehdä tämän seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta valintanauhan Kehittäjät-välilehdessä.
- Valitse Projekti-ikkunassa ThisWorkbook-objekti työkirjan nimen alta.
- Valitse Koodi-ikkunan vasemmassa yläkulmassa olevasta Objekti-pudotusvalikosta Työkirja.
- Valitse oikeassa yläkulmassa olevasta Menettely-pudotusvalikosta Avaa tai EnnenSulje.
- Kirjoita VBA-koodi, joka kutsuu suoritettavaa makroa. Esimerkiksi:
Private Sub Workbook_Open() ' Suorittaa Bonjour-makron, kun työkirja avataan Bonjour End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' Suorittaa AuRevoir-makron, kun työkirja suljetaan AuRevoir End Sub
Miten luodaan lomake Excelissä VBA:n avulla?
Lomakkeen luominen Excelissä VBA:n avulla edellyttää VBA-lomakesuunnittelua. Voit tehdä tämän seuraavasti:
- Avaa VBE napsauttamalla Visual Basic -painiketta valintanauhan Kehittäjät-välilehdessä.
- Napsauta Projekti-ikkunassa hiiren kakkospainikkeella VBA-projektin nimeä ja valitse Lisää ja sitten Käyttäjälomake.
- Uusi UserForm-ikkuna avautuu. Voit lisätä ohjausobjekteja, kuten otsikoita, tekstiruutuja, painikkeita jne., vetämällä niitä työkalupaletista.
- Voit muokata ohjausobjektien ominaisuuksia Ominaisuudet-ikkunassa tai kirjoittaa VBA-koodia käsittelemään niiden tapahtumia Koodi-ikkunassa.
- Lomakkeen näyttämiseen voit käyttää Show-metodia. Esimerkiksi:
Sub ShowForm() ' Näyttää lomakkeen UserForm1 UserForm1.Show End Sub
Kuinka luoda mukautettu funktio Excelissä VBA:n avulla?
Jos haluat luoda mukautetun funktion Excelissä VBA:n avulla, sinun on käytettävä seuraavaa syntaksia:
Funktio FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Määrittelyt ja ohjeet FunctionName = lauseke ' Asettaa palautettavan tuloksen funktiolle End Function
Jos esimerkiksi haluat luoda funktion, joka laskee luvun neliön, voit kirjoittaa:
Funktio Neliö(luku As Double) As Double ' Määrittelee funktion, joka ottaa argumentiksi luvun ja palauttaa sen Neliö = luku * luku ' Asettaa luvun neliön funktiolle End Function
Voit sitten käyttää tätä funktiota VBA-ohjeissasi tai Excel-kaavoissasi. Esimerkiksi:
Sub Test() Dim x As Double ' Määrittelee muuttujan, jonka tyyppi on Double x = 5 ' Asettaa muuttujalle arvon 5 MsgBox Square(x) ' Näyttää x:n neliön End Sub
Voit myös käyttää itse VBA:ssa luomiasi mukautettuja funktioita. Tätä varten sinun on käytettävä seuraavaa syntaksia:
Funktio FunctionName(argument1 As Type1, argument2 As Type2, ...) As ReturnType ' Määrittelyt ja ohjeet FunctionName = lauseke ' Asettaa palautettavan tuloksen funktiolle End Function
Jos esimerkiksi haluat luoda funktion, joka laskee luvun neliön, voit kirjoittaa:
Funktio Neliö(luku As Double) As Double ' Määrittelee funktion, joka ottaa argumentiksi luvun ja palauttaa sen Neliö = luku * luku ' Asettaa luvun neliön funktiolle End Function
Voit sitten käyttää tätä funktiota VBA-ohjeissasi tai Excel-kaavoissasi. Esimerkiksi:
Sub Test() Dim x As Double ' Määrittelee muuttujan, jonka tyyppi on Double x = 5 ' Asettaa muuttujalle arvon 5 MsgBox Square(x) ' Näyttää x:n neliön End Sub
Tai
=NELIÖ(A1) ' Laskee solun A1 arvon neliön
Johtopäätös
Tässä artikkelissa opit käyttämään Visual Basic for Applicationsia (VBA) Excelissä. Näit, mikä VBA on ja miksi sitä käytetään, miten VBA:ta käytetään Excelissä, miten VBA-koodia kirjoitetaan Excelissä, miten Excelin laskentataulukkofunktioita käytetään VBA:ssa, miten makroja luodaan Excelissä VBA:n avulla, miten lomakkeita luodaan Excelissä VBA:n avulla ja miten mukautettuja funktioita luodaan Excelissä VBA:n avulla. Yksi VBA:lla luotavista on funktio, jolla suoritetaan vähennyslasku Excelissä . Voit nyt hyödyntää VBA:n ohjelmointitehoa Excelin mukauttamiseen ja automatisointiin tarpeidesi mukaan.
![[GetPaidStock.com]-648864a469b9a](https://tt-hardware.com/wp-content/uploads/2023/06/GetPaidStock.com-648864a469b9a-696x400.jpg)


