Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ensimmäisen Makron Tallentaminen | Introduction to VBA and the Excel Object Model
Excel VBA Liiketoiminnan Automaatioon

Ensimmäisen Makron Tallentaminen

Pyyhkäise näyttääksesi valikon

Makron tallennin on nopein tapa nähdä aitoa VBA-koodia ilman, että kirjoitat sitä itse: suoritat toiminnon manuaalisesti, Excel kirjaa jokaisen klikkauksen VBA-lauseeksi, ja voit toistaa sen — tai lukea syntaksin niille objekteille, joita juuri käytit.

Toistuvan tehtävän tallentaminen

  1. Valitse Kehittäjä-välilehdeltä Tallenna makro;
  2. Nimeä makroksi FormatEmployeeHeader (makron nimessä ei saa olla välilyöntejä);
  3. Valitse "Tallenna makro kohteeseen" -kohdasta Tämä työkirja;
  4. Napsauta OK — Excel aloittaa tallennuksen;
  5. Valitse rivi 1 (otsikkorivi), tee siitä lihavoitu ja lisää vaaleanvihreä täyttöväri;
  6. Napsauta Lopeta tallennus Kehittäjä-välilehdellä.
carousel-imgcarousel-imgcarousel-img

Makron suorittaminen uudelleen

Kumoa manuaalinen muotoilu (Ctrl+Z), jotta otsikko palautuu tavalliseksi mustaksi tekstiksi. Napsauta sitten Makrot Kehittäjä-välilehdellä, valitse FormatEmployeeHeader ja napsauta Suorita. Excel palauttaa täsmälleen saman muotoilun välittömästi — koska se toistaa nyt koodin, jonka se kirjoitti työskentelysi aikana.

Luodun koodin ymmärtäminen

Avaa VBE (Alt+F11) ja tarkastele uutta moduulia. Näet jotakin tämän kaltaista:

Kaksi asiaa kannattaa huomioida heti alussa. Ensinnäkin jokainen tekemäsi toimenpide vastaa yhtä VBA-koodiriviä — alueen valinta muuttuu muotoon Range("A1:F1").Select ja lihavointi muotoon Selection.Font.Bold = True.

Toiseksi huomaa kaava, jossa ensin käytetään Select ja sen jälkeen suoritetaan toiminto Selection-objektille. Tämä on kätevää tallentimelle, mutta kokeneet VBA-kehittäjät eivät kirjoita koodia näin käsin.

Mitä tallennin ei osaa

  • Se ei osaa tehdä päätöksiä — ei If-lauseita, ei silmukoita, ei ehtolauseita;
  • Se kovakoodaa tarkat alueet ja arvot, joten makro rikkoutuu heti kun datan muoto muuttuu;
  • Se ei voi pyytää käyttäjältä syötettä tai validoida mitään;
  • Se tuottaa usein raskaampaa ja hitaampaa koodia kuin käsin kirjoitettu vastine;
  • Se ei voi kommunikoida muiden sovellusten, kuten Outlookin, kanssa.

Ajattele tallenninta kääntäjänä, ei automaatiomoottorina: se on erinomainen tapa oppia objektien ja ominaisuuksien nimet sekä hyödyllinen nopeisiin kertaluonteisiin muotoilumakroihin, mutta todellinen liiketoiminta-automaatio — sellainen, jossa on logiikkaa, silmukoita ja virheenkäsittelyä — täytyy kirjoittaa käsin. Tämän taidon kehittämiseen koko kurssi tähtää.

Tehtävä

Tallenna, riko ja lue.

  1. Tallenna toinen makro nimeltä HighlightIT, joka valitsee Department-sarakkeen ja asettaa lihavoidun, kursivoidun fontin kaikkiin soluihin — älä vielä huolehdi ehtojen lisäämisestä, vaan tallenna manuaalinen muotoilu.
  2. Suorita molemmat makrot peräkkäin ja varmista, että muotoilu päivittyy oikein.
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Ensimmäisen Makron Tallentaminen

Makron tallennin on nopein tapa nähdä aitoa VBA-koodia ilman, että kirjoitat sitä itse: suoritat toiminnon manuaalisesti, Excel kirjaa jokaisen klikkauksen VBA-lauseeksi, ja voit toistaa sen — tai lukea syntaksin niille objekteille, joita juuri käytit.

Toistuvan tehtävän tallentaminen

  1. Valitse Kehittäjä-välilehdeltä Tallenna makro;
  2. Nimeä makroksi FormatEmployeeHeader (makron nimessä ei saa olla välilyöntejä);
  3. Valitse "Tallenna makro kohteeseen" -kohdasta Tämä työkirja;
  4. Napsauta OK — Excel aloittaa tallennuksen;
  5. Valitse rivi 1 (otsikkorivi), tee siitä lihavoitu ja lisää vaaleanvihreä täyttöväri;
  6. Napsauta Lopeta tallennus Kehittäjä-välilehdellä.
carousel-imgcarousel-imgcarousel-img

Makron suorittaminen uudelleen

Kumoa manuaalinen muotoilu (Ctrl+Z), jotta otsikko palautuu tavalliseksi mustaksi tekstiksi. Napsauta sitten Makrot Kehittäjä-välilehdellä, valitse FormatEmployeeHeader ja napsauta Suorita. Excel palauttaa täsmälleen saman muotoilun välittömästi — koska se toistaa nyt koodin, jonka se kirjoitti työskentelysi aikana.

Luodun koodin ymmärtäminen

Avaa VBE (Alt+F11) ja tarkastele uutta moduulia. Näet jotakin tämän kaltaista:

Kaksi asiaa kannattaa huomioida heti alussa. Ensinnäkin jokainen tekemäsi toimenpide vastaa yhtä VBA-koodiriviä — alueen valinta muuttuu muotoon Range("A1:F1").Select ja lihavointi muotoon Selection.Font.Bold = True.

Toiseksi huomaa kaava, jossa ensin käytetään Select ja sen jälkeen suoritetaan toiminto Selection-objektille. Tämä on kätevää tallentimelle, mutta kokeneet VBA-kehittäjät eivät kirjoita koodia näin käsin.

Mitä tallennin ei osaa

  • Se ei osaa tehdä päätöksiä — ei If-lauseita, ei silmukoita, ei ehtolauseita;
  • Se kovakoodaa tarkat alueet ja arvot, joten makro rikkoutuu heti kun datan muoto muuttuu;
  • Se ei voi pyytää käyttäjältä syötettä tai validoida mitään;
  • Se tuottaa usein raskaampaa ja hitaampaa koodia kuin käsin kirjoitettu vastine;
  • Se ei voi kommunikoida muiden sovellusten, kuten Outlookin, kanssa.

Ajattele tallenninta kääntäjänä, ei automaatiomoottorina: se on erinomainen tapa oppia objektien ja ominaisuuksien nimet sekä hyödyllinen nopeisiin kertaluonteisiin muotoilumakroihin, mutta todellinen liiketoiminta-automaatio — sellainen, jossa on logiikkaa, silmukoita ja virheenkäsittelyä — täytyy kirjoittaa käsin. Tämän taidon kehittämiseen koko kurssi tähtää.

Tehtävä

Tallenna, riko ja lue.

  1. Tallenna toinen makro nimeltä HighlightIT, joka valitsee Department-sarakkeen ja asettaa lihavoidun, kursivoidun fontin kaikkiin soluihin — älä vielä huolehdi ehtojen lisäämisestä, vaan tallenna manuaalinen muotoilu.
  2. Suorita molemmat makrot peräkkäin ja varmista, että muotoilu päivittyy oikein.
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
some-alt