Makron tallentaminen Excelissä

  • Jaa Tämä
Michael Brown

Vaiheittainen opetus aloittelijoille makron tallentamisesta, katselemisesta, suorittamisesta ja tallentamisesta. Opit myös joitakin makrojen toiminnan sisäisiä mekanismeja Excelissä.

Makrot ovat loistava tapa automatisoida toistuvia tehtäviä Excelissä. Jos huomaat tekeväsi samoja asioita yhä uudelleen ja uudelleen, tallenna liikkeesi makroksi ja määritä sille pikanäppäin. Ja nyt kaikki tallennetut toiminnot voidaan suorittaa automaattisesti yhdellä ainoalla näppäinpainalluksella!

    Makron tallentaminen Excelissä

    Kuten muutkin VBA-työkalut, Excel-makrot sijaitsevat Excelin Kehittäjä välilehti, joka on oletusarvoisesti piilotettu. Ensimmäinen asia, joka sinun on tehtävä, on lisätä Kehittäjä-välilehti Excelin nauhaan.

    Voit tallentaa makron Exceliin seuraavasti:

    1. On Kehittäjä välilehdellä, kohdassa Koodi ryhmää, napsauta Record makro nappi.

      Vaihtoehtoisesti napsauta Record makro painiketta vasemmalla puolella Tila baari:

      Jos haluat työskennellä mieluummin näppäimistöllä kuin hiirellä, paina seuraavaa näppäinsarjaa Alt , L , R (yksi kerrallaan, ei kaikkia näppäimiä kerrallaan).

    2. Vuonna Record makro Määritä makron pääparametrit avautuvassa valintaikkunassa:
      • Vuonna Makro nimi Kirjoita makron nimi. Yritä tehdä siitä mielekäs ja kuvaava, jotta löydät makron myöhemmin nopeasti luettelosta.

        Makron nimissä voi käyttää kirjaimia, numeroita ja alleviivauksia; ensimmäisen merkin on oltava kirjain. Välilyönnit eivät ole sallittuja, joten nimi kannattaa joko pitää yksitavuisena ja aloittaa jokainen osa isolla kirjaimella (esim. MyFirstMacro ) tai erottaa sanat alleviivauksilla (esim. Oma_Ensimmäinen_Macro ).

      • Vuonna Pikanäppäin ruutuun, kirjoita mikä tahansa kirjain määrittääksesi makrolle pikanäppäimen (valinnainen).

        Sekä isot että pienet kirjaimet ovat sallittuja, mutta kannattaa käyttää isoja näppäinyhdistelmiä ( Ctrl + Shift + kirjain ), koska makrojen pikanäppäimet ohittavat kaikki Excelin oletusarvoiset pikanäppäimet, kun makron sisältävä työkirja on avoinna. Jos esimerkiksi määrität makrolle Ctrl + S, menetät mahdollisuuden tallentaa Excel-tiedostot pikanäppäimellä. Määrittämällä Ctrl + Shift + S säilytetäänvakiotallennuksen pikakuvake.

      • Vuodesta Tallenna makro Valitse pudotusvalikosta, mihin haluat tallentaa makron:
        • Henkilökohtainen makrotyökirja - tallentaa makron erityiseen työkirjaan nimeltä Henkilökohtainen.xlsb Kaikki tähän työkirjaan tallennetut makrot ovat käytettävissä aina, kun käytät Exceliä.
        • Tämä työkirja (oletusarvo) - makro tallennetaan nykyiseen työkirjaan, ja se on käytettävissä, kun avaat työkirjan uudelleen tai jaat sen muille käyttäjille.
        • Uusi työkirja - luo uuden työkirjan ja tallentaa makron tähän työkirjaan.
      • Vuonna Kuvaus ruutuun lyhyt kuvaus siitä, mitä makro tekee (valinnainen).

        Vaikka tämä kenttä on valinnainen, suosittelen, että annat aina lyhyen kuvauksen. Kun luot paljon erilaisia makroja, se auttaa sinua ymmärtämään nopeasti, mitä kukin makro tekee.

      • Klikkaa OK aloittaaksesi makron tallennuksen.

    3. Suorita toimenpiteet, jotka haluat automatisoida (katso esimerkki tallennusmakrosta).
    4. Kun olet valmis, napsauta Lopeta tallennus painiketta Kehittäjä välilehti:

      Tai vastaava painike Tila baari:

    Esimerkki makron tallentamisesta Excelissä

    Jotta näemme, miten se toimii käytännössä, tallennetaan makro, joka soveltaa joitakin muotoiluja valittuihin soluihin. Toimi seuraavasti:

    1. Valitse yksi tai useampi solu, jonka haluat muotoilla.
    2. On Kehittäjä välilehti tai Tila palkissa, napsauta Record makro .
    3. Vuonna Record makro valintaikkunassa määritä seuraavat asetukset:
      • Makron nimi Otsikon_muotoilu (koska aiomme muotoilla sarakeotsikot).
      • Aseta kursori kohtaan Pikanäppäin ruutuun ja paina samanaikaisesti näppäimiä Shift + F. Tämä määrittää Ctrl + Shift + F -pikanäppäimen makrolle.
      • Valitse, tallennetaanko makro tähän työkirjaan.
      • Osoitteessa Kuvaus , käytä seuraavaa tekstiä, jossa selitetään, mitä makro tekee: Tekee tekstistä lihavoitua, lisää täyttövärin ja keskittää tekstin. .
      • Klikkaa OK aloittaaksesi tallennuksen.

    4. Muotoile esivalitut solut haluamallasi tavalla. Tässä esimerkissä käytämme lihavoitua tekstin muotoilua, vaaleansinistä täyttöväriä ja keskikohdistusta.

      Vihje. Älä valitse soluja sen jälkeen, kun olet aloittanut makron tallentamisen. Näin varmistat, että kaikki muotoilut sovitetaan makron valinta , ei tiettyä aluetta.

    5. Klikkaa Lopeta tallennus joko Kehittäjä välilehti tai Tila baari.

    Makro on tallennettu. Nyt voit valita minkä tahansa solualueen millä tahansa arkilla, painaa osoitettua pikanäppäintä ( Ctrl+ Shift+ F ), ja mukautettu muotoilusi sovelletaan välittömästi valittuihin soluihin.

    Kuinka työskennellä tallennettujen makrojen kanssa Excelissä

    Kaikkia Excelin makroille tarjoamia tärkeimpiä vaihtoehtoja voi käyttää komennon Makro Avaa se napsauttamalla Makrot painiketta Kehittäjä välilehti tai paina Alt+ F8-pikavalintaa.

    Avautuvassa valintaikkunassa voit tarkastella luetteloa makroista, jotka ovat käytettävissä kaikissa avoimissa työkirjoissa tai jotka liittyvät tiettyyn työkirjaan, ja käyttää seuraavia vaihtoehtoja:

    • Suorita - suorittaa valitun makron.
    • Astu sisään - voit debugata ja testata makroa Visual Basic -editorissa.
    • Muokkaa - avaa valitun makron VBA-editoriin, jossa voit tarkastella ja muokata koodia.
    • Poista - poistaa valitun makron pysyvästi.
    • Vaihtoehdot - mahdollistaa makron ominaisuuksien muuttamisen, kuten siihen liittyvän Shortcut avain ja Kuvaus .

    Makrojen tarkasteleminen Excelissä

    Excel-makron koodia voidaan tarkastella ja muokata Visual Basic Editorissa. Voit avata Editorin painamalla Alt + F11 tai napsauttamalla hiiren painiketta Visual Basic painiketta Kehittäjä välilehti.

    Jos näet VB-editorin ensimmäistä kertaa, älä lannistu tai pelästy. Emme aio puhua VBA-kielen rakenteesta tai syntaksista. Tässä osiossa annetaan sinulle vain perusymmärrys siitä, miten Excel-makrot toimivat ja mitä makron tallentaminen oikeastaan tekee.

    VBA-editorissa on useita ikkunoita, mutta keskitymme kahteen tärkeimpään:

    Project Explorer - näyttää luettelon kaikista avoimista työkirjoista ja niiden arkkeista. Lisäksi se näyttää moduulit, käyttäjän lomakkeet ja luokkamoduulit.

    Koodiikkuna - Tässä voit tarkastella, muokata ja kirjoittaa VBA-koodia jokaiselle Project Explorerissa näkyvälle objektille.

    Kun nauhoitimme esimerkkimakron, backendissä tapahtui seuraavat asiat:

    • Uusi moduuli ( Moduel1 ) lisättiin.
    • Makron VBA-koodi kirjoitettiin Koodiikkunaan.

    Jos haluat nähdä tietyn moduulin koodin, kaksoisnapsauta moduulia ( Moduuli1 Tässä tapauksessa) Project Explorer -ikkunassa. Tavallisesti makrokoodi koostuu seuraavista osista:

    Makron nimi

    VBA:ssa kaikki makrot alkavat kirjaimella Sub jota seuraa makron nimi ja päättyy End Sub , jossa "Sub" on lyhenne sanoista Aliohjelma (kutsutaan myös nimellä Menettely ). Esimerkkimakron nimi on Header_Formatting() , joten koodi alkaa tällä rivillä:

    Sub Header_Formatting()

    Jos haluat nimeä makro uudelleen poistat nykyisen nimen ja kirjoitat uuden nimen suoraan Koodiikkunaan.

    Kommentit

    Rivejä, joiden alussa on apostrofi (') ja jotka näkyvät oletusarvoisesti vihreinä, ei suoriteta. Ne ovat kommentteja, jotka on lisätty tiedoksi. Kommenttirivit voidaan poistaa turvallisesti vaikuttamatta koodin toimivuuteen.

    Yleensä tallennetussa makrossa on 1-3 kommenttiriviä: makron nimi (pakollinen), kuvaus ja pikakomento (jos se on määritetty ennen tallennusta).

    Suoritettava koodi

    Kommenttien jälkeen tulee koodi, joka suorittaa tallentamasi toiminnot. Joskus tallennetussa makrossa voi olla paljon turhaa koodia, joka voi silti olla hyödyllistä, kun selvitetään, miten asiat toimivat VBA:n avulla :)

    Alla olevassa kuvassa näytetään, mitä kukin makron koodin osa tekee:

    Tallennetun makron suorittaminen

    Käynnistämällä makron käsket Exceliä palaamaan tallennettuun VBA-koodiin ja suorittamaan täsmälleen samat vaiheet. Tallennetun makron suorittamiseen Excelissä on muutamia tapoja, ja tässä ovat nopeimmat niistä:

    • Jos olet määrittänyt pikanäppäin makroon, paina kyseistä pikanäppäintä.
    • Paina Alt + 8 tai napsauta Makrot painiketta Kehittäjä välilehdellä. Makro Valitse haluamasi makro ja napsauta Suorita .

    Tallennetun makron voi myös suorittaa napsauttamalla omaa painiketta. Seuraavassa on ohjeet makron luomiseen: Makropainikkeen luominen Excelissä.

    Makrojen tallentaminen Excelissä

    Riippumatta siitä, tallennitko makron vai kirjoititko VBA-koodin manuaalisesti, makron tallentamiseksi sinun on tallennettava työkirja makron mahdollistamana (.xlms-pääte). Näin menetellään:

    1. Napsauta makron sisältävässä työkirjassa painiketta Tallenna painiketta tai paina Ctrl + S .
    2. Vuonna Tallenna nimellä valintaikkunassa, valitse Excel-makroilla varustettu työkirja (*.xlsm) alkaen Tallenna tyypiksi avattavasta luettelosta ja valitse sitten Tallenna :

    Excel-makrot: mitä kirjataan ja mitä ei kirjata.

    Kuten olet juuri nähnyt, makrojen tallentaminen Exceliin on melko helppoa. Tehokkaiden makrojen luomiseksi sinun on kuitenkin ymmärrettävä, mitä kulissien takana tapahtuu.

    Mitä tallennetaan

    Excelin makrotallennin tallentaa melko paljon asioita - lähes kaikki hiiren napsautukset ja näppäinpainallukset. Sinun kannattaa siis miettiä askeleesi tarkkaan, jotta vältät ylimääräisen koodin, joka voi johtaa makroosi odottamattomaan käyttäytymiseen. Alla on muutamia esimerkkejä siitä, mitä Excel tallentaa:

    • Solujen valitseminen hiirellä tai näppäimistöllä. Vain viimeisin valinta ennen toimintoa tallennetaan. Jos esimerkiksi valitset alueen A1:A10 ja napsautat sitten solua A11, vain solun A11 valinta tallennetaan.
    • Solujen muotoilu, kuten täyttö- ja fonttiväri, kohdistus, reunukset jne.
    • Numeroiden muotoilu, kuten prosenttiluvut, valuutat jne.
    • Kaavojen ja arvojen muokkaaminen. Muutokset tallennetaan, kun painat Enter .
    • Vierittäminen, Excel-ikkunoiden siirtäminen, siirtyminen muihin työarkkeihin ja työkirjoihin.
    • Työarkkien lisääminen, nimeäminen, siirtäminen ja poistaminen.
    • Työkirjojen luominen, avaaminen ja tallentaminen.
    • Muiden makrojen suorittaminen.

    Mitä ei voida tallentaa

    Huolimatta monista eri asioista, joita Excel voi tallentaa, tietyt ominaisuudet ovat makrotallentimen kykyjen ulkopuolella:

    • Excelin nauhan ja pikakäyttötyökalurivin mukautukset.
    • Toiminnot Excel-valintaikkunoiden sisällä, kuten Ehdollinen muotoilu tai Etsi ja korvaa (vain tulos tallennetaan).
    • Vuorovaikutus muiden ohjelmien kanssa. Et voi esimerkiksi tallentaa kopiointia/liittämistä Excel-työkirjasta Word-asiakirjaan.
    • Kaikki, mikä liittyy VBA-editoriin. Tämä asettaa merkittävimmät rajoitukset - monia asioita, joita voidaan tehdä ohjelmointitasolla, ei voida tallentaa:
      • Mukautettujen toimintojen luominen
      • Mukautettujen valintaikkunoiden näyttäminen
      • Silmukoiden tekeminen, kuten Seuraavaksi , Kutakin , Do While jne.
      • Ehtojen arvioiminen. VBA:ssa voit käyttää komentoa IF Then Else lausekkeen avulla voit testata ehtoa ja suorittaa jonkin koodin, jos ehto on tosi, tai toisen koodin, jos ehto on epätosi.
      • Koodin suorittaminen tapahtumien perusteella. VBA:n avulla voit käyttää monia tapahtumia, jotta voit suorittaa tapahtumaan liittyvän koodin (kuten työkirjan avaaminen, laskentataulukon uudelleen laskeminen, valinnan muuttaminen ja niin edelleen).
      • Argumenttien käyttäminen. Kun kirjoitat makroa VBA-editorissa, voit antaa syöttöargumentteja, joiden avulla makro voi suorittaa tietyn tehtävän. Tallennetulla makrolla ei voi olla argumentteja, koska se on itsenäinen eikä se ole yhteydessä muihin makroihin.
      • Jos esimerkiksi tallennat makron, joka kopioi tietyt solut, vaikkapa taulukon Yhteensä riville, Excel tallentaa vain kopioitujen solujen osoitteet. VBA:lla voit koodata logiikan, eli kopioida arvot rivin Yhteensä rivi.

    Vaikka edellä mainitut rajoitukset asettavat monia rajoja tallennetuille makroille, ne ovat silti hyvä lähtökohta. Vaikka sinulla ei olisi mitään käsitystä VBA-kielestä, voit nopeasti tallentaa makron ja analysoida sen koodia.

    Hyödyllisiä vinkkejä makrojen tallentamiseen Excelissä

    Alla on muutamia vinkkejä ja muistiinpanoja, jotka voivat mahdollisesti säästää paljon aikaa ja hermoja, jolloin oppimiskäyräsi on sujuvampi ja makrot tehokkaammat.

    Käytä suhteellisia viittauksia makrotallennuksessa

    Excel käyttää oletusarvoisesti absoluuttinen viittaus Tämä tarkoittaa, että VBA-koodisi viittaa aina täsmälleen samoihin soluihin, jotka olet valinnut, riippumatta siitä, missä kohtaa työarkkia olet makroa suorittaessasi.

    On kuitenkin mahdollista muuttaa oletuskäyttäytyminen seuraavasti. suhteellinen viittaus Tässä tapauksessa VBA ei koodaa solujen osoitteita, vaan toimii suhteessa aktiiviseen (tällä hetkellä valittuun) soluun.

    Jos haluat tallentaa makron suhteellisella viittauksella, napsauta painiketta Käytä Suhteelliset viittaukset painiketta Kehittäjä Jos haluat palata absoluuttiseen viittaukseen, napsauta painiketta uudelleen kytkeäksesi sen pois päältä.

    Jos esimerkiksi tallennat taulukon oletusarvoisen absoluuttisen viittauksen, makro luo taulukon aina uudelleen samaan paikkaan (tässä tapauksessa, Otsikko A1:ssä, Kohde1 A2:ssa, Kohta2 A3:ssa).

    Sub Absolute_Referencing() Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Header" Range( "A2" ). Select ActiveCell.FormulaR1C1 = "Item1" Range( "A3" ). Select ActiveCell.FormulaR1C1 = "Item2" End Sub

    Jos tallennat saman makron suhteellisella viittauksella, taulukko luodaan sinne, mihin asetat kursorin ennen makron suorittamista ( Otsikko aktiivisessa solussa, Kohde1 alla olevassa solussa, ja niin edelleen).

    Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Header" ActiveCell.Offset(1, 0).Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Item2" ActiveCell.Offset(1, 0).Range( "A1" ). Select End Sub

    Huomautuksia:

    • Kun käytät suhteellisia viittauksia, muista valita alkuperäinen solu ennen kuin aloitat makron tallentamisen.
    • Suhteellinen viittaus ei toimi kaikessa. Jotkin Excelin toiminnot, esimerkiksi alueen muuntaminen taulukoksi, edellyttävät absoluuttisia viittauksia.

    Valitse alueet käyttämällä pikanäppäimiä

    Kun valitset solun tai solualueen hiirellä tai nuolinäppäimillä, Excel kirjoittaa solujen osoitteet. Näin ollen aina kun suoritat makron, tallennetut toiminnot suoritetaan täsmälleen samoille soluille. Jos et halua tätä, käytä solujen ja alueiden valitsemiseen pikanäppäimiä.

    Tallennetaan esimerkiksi makro, joka asettaa tietyn muodon (pp.kk.vvvv) alla olevan taulukon päivämäärille:

    Tätä varten tallennat seuraavat toiminnot: paina Ctrl + 1 avataksesi ohjelman. Solujen muotoilu dialogi> Päivämäärä> Valitse muoto> OK. Jos tallennukseen kuuluu alueen valitseminen hiirellä tai nuolinäppäimillä, Excel tuottaa seuraavan VBA-koodin:

    Sub Date_Format() Range( "A2:B4" ). Select Selection.NumberFormat = "d-mmm-yy" End Sub

    Yllä olevan makron suorittaminen valitsisi aina alueen A2:B4. Jos lisäät taulukkoon lisää rivejä, makro ei käsittele niitä.

    Katsotaan nyt, mitä tapahtuu, kun valitset taulukon pikakuvakkeen avulla.

    Aseta kursori kohdealueen (tässä esimerkissä A2) vasemmanpuoleiseen yläsoluun, aloita tallennus ja paina Ctrl + Shift + End . Tuloksena koodin ensimmäinen rivi näyttää tältä:

    Range(Selection, ActiveCell.SpecialCells(xlLastCell)). Select

    Tämä koodi valitsee kaikki solut aktiivisesta solusta viimeiseen käytettyyn soluun, mikä tarkoittaa, että kaikki uudet tiedot sisällytetään valintaan automaattisesti.

    Vaihtoehtoisesti voit käyttää Ctrl + Shift + Nuolet -yhdistelmiä:

    • Ctrl + Shift + Nuoli oikealle valitsemalla kaikki käytetyt solut oikealle ja sen jälkeen valitsemalla
    • Ctrl + Shift + alasnuoli valitsee kaikki käytetyt solut alaspäin.

    Tämä luo kaksi koodiriviä yhden sijasta, mutta tulos on sama - kaikki solut, joiden tiedot ovat aktiivisen solun alapuolella ja oikealla puolella, valitaan:

    Range(Selection, Selection. End (xlToRight)). Select Range(Selection, Selection. End (xlDown)). Select

    Tallenna makro valintaa varten tiettyjen solujen sijaan

    Edellä mainittu menetelmä (eli kaikkien käytettyjen solujen valitseminen aktiivisesta solusta alkaen) toimii erinomaisesti samojen toimintojen suorittamiseen koko taulukossa. Joissakin tilanteissa saatat kuitenkin haluta, että makro käsittelee tiettyä aluetta koko taulukon sijasta.

    Tätä varten VBA tarjoaa Valinta objekti, joka viittaa tällä hetkellä valittuun soluun (valittuihin soluihin). Useimmat asiat, jotka voidaan tehdä alueen avulla, voidaan tehdä myös valinnan avulla. Mitä etua siitä on? Monissa tapauksissa sinun ei tarvitse valita mitään lainkaan tallennuksen aikana - kirjoitat vain makron aktiiviselle solulle. Ja sitten voit valita minkä tahansa haluamasi alueen, suorittaa makron, ja se käsittelee koko valintaa.

    Esimerkiksi tämä yksirivinen makro voi muotoilla minkä tahansa määrän valittuja soluja prosentteina:

    Sub Percent_Format() Selection.NumberFormat = "0.00%" End Sub

    Suunnittele huolellisesti, mitä tallennat

    Microsoft Excelin makrotallennin tallentaa lähes kaiken toimintasi, mukaan lukien tekemäsi ja korjaamasi virheet. Jos esimerkiksi painat Ctrl + Z peruuttaaksesi jotain, myös tämä tallentuu. Lopulta sinulle saattaa jäädä paljon tarpeetonta koodia. Voit välttää tämän joko muokkaamalla koodia VB-editorissa tai lopettamalla tallennuksen, poistamalla puutteellisen makron ja aloittamalla tallennuksen uudelleen.

    Varmuuskopioi tai tallenna työkirja ennen makron suorittamista

    Excel-makrojen tuloksia ei voi perua. Ennen makron ensimmäistä suorittamista on siis järkevää luoda kopio työkirjasta tai ainakin tallentaa nykyinen työsi odottamattomien muutosten välttämiseksi. Jos makro tekee jotain väärin, sulje työkirja yksinkertaisesti tallentamatta.

    Pidä tallennetut makrot lyhyinä

    Kun automatisoit useita eri tehtäviä, saatat joutua houkutukseen tallentaa ne kaikki yhteen makroon. On kaksi tärkeintä syytä olla tekemättä näin. Ensinnäkin on vaikea tallentaa pitkää makroa sujuvasti ja virheettömästi. Toiseksi suuria makroja on vaikea ymmärtää, testata ja vianmääritystä on vaikea tehdä. Siksi on hyvä idea jakaa suuri makro useampaan osaan. Esimerkiksi yhteenvetotaulukkoa luotaessauseista lähteistä, voit käyttää yhtä makroa tietojen tuomiseen, toista tietojen yhdistämiseen ja kolmatta taulukon muotoiluun.

    Toivottavasti tämä opetusohjelma on antanut sinulle tietoa siitä, miten makro tallennetaan Excelissä. Joka tapauksessa, kiitän sinua lukemisesta ja toivon, että tapaamme blogissamme ensi viikolla!

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.