Makrode programmeerimine Excelis: täielik samm-sammult juhend

Viimane uuendus: 29 august 2025
  • Makrod automatiseerivad Excelis korduvaid toiminguid, vähendades vigu ja säästes aega.
  • Saate neid luua diktofoniga ja täiustada neid VBA-ga paindlikkuse suurendamiseks.
  • Erinevate vahemike mahutamiseks ja üleliigsete sammude vältimiseks kasutage suhtelisi viiteid.
  • Salvestage .xlsm-failina ja hallake turvalisust, et makrosid enesekindlalt käitada.

Makrod Excelis ja kuidas neid programmeerida

Kui avastad, et teed Excelis samu ülesandeid korduvalt, on makrod sinu parimad sõbrad aja kokkuhoiuks. Nende abil saad automatiseerida terveid toimingujadasid (lisateavet VBA programmeerimise kohta leiate siit ), alates vormindamisest kuni andmete importimise või arvutuste tegemiseni, ning käivitada need igal ajal klõpsu või kiirklahviga.

Makro loomisel salvestab Excel teie klõpsud ja klahvivajutused ning käivitab need usaldusväärselt uuesti. Seejärel saate koodi täpsustada, et täitmist täpsustada, ja konsulteerida Exceli ressurssidega . Tavaline on alustada makrosalvestiga ja seejärel seda VBA-ga täiustada, saavutades suurema kontrolli, paindlikkuse ja hooletusest tulenevate vigade puudumise.

Mis täpselt on makro Excelis?

Makro on käskude loend, mida Excel kindlas järjekorras täidab . See võib olla nii lihtne nagu protsendistiili rakendamine või nii keeruline nagu aruande ettevalmistamine liigendtabelitega , selle vormindamine, töölehtede loomine või e-kirja saatmine Outlookis. Makrod salvestatakse teie töövihikusse ja neid saab käivitada alati, kui vaja.

Alustamiseks ei pea programmeerimisoskusi tundma: diktofon tõlgib teie toimingud VBA-koodiks. Sellegipoolest võimaldavad mõned VBA-alased teadmised teil Excelis luua kohandatud funktsioone, vorme ja isegi minirakendusi.

Miks kasutada makrosid? Tegelikud eelised

Makro peamine eesmärk on vältida korduvaid ülesandeid ja minimeerida vigu . Kui koostate iga kuu sama aruande, säästab makro teid mehaanilistest sammudest ja võimaldab teil keskenduda olulisele.

Selle eeliste hulka kuuluvad aja kokkuhoid, järjepidev teostus (ilma vahelejäänud sammudeta) ning võimalus luua otseteid ja nuppe protsesside kiirendamiseks . Kui kasutate Exceli vaid aeg-ajalt, ei pruugi see olla seda väärt; aga kui kasutate seda iga päev, märkate erinevust esimesest päevast alates.

Arendaja vahekaardi lubamine (Windows ja Mac)

Arendaja vahekaart on vaikimisi peidetud. Windowsis paremklõpsake lindil ja valige „Kohanda linti“. Märkige ruut „Arendaja“ ja klõpsake nuppu OK. Pärast seda näete arendaja vahekaarti vaate kõrval.

Macis minge Exceli > Eelistused > Tööriistaribad ja lint. Valige jaotisest „Peamised vahekaardid” „Arendaja” ja salvestage. See annab teile juurdepääsu diktofonile, VBA-le ja juhtelementidele . Kui olete Exceli kasutamises uus, vaadake üle Exceli põhijuhend, et tutvuda lindi ja selle valikutega.

Kuidas luua makrosid diktofoniga

Diktofon on alustamiseks ideaalne. Määrake kirjeldav nimi menüüs Arendaja > Salvesta makro (või Windowsis Alt+T+M+R). Pidage meeles: nimi peab algama tähega, tühikute ja sümboliteta.

Valige salvestuskoht: enamasti sobib suvand „See töövihik”. Kui soovite selle alati kättesaadavaks teha, valige „Isiklik makrotöövihik” ja Excel loob/salvestab selle faili Personal.xlsb , mis avaneb Excelis peidetult.

Soovi korral saate lisada otsetee. Konfliktide vältimiseks (näiteks Ctrl+Z kaotsiminek) on soovitatav kasutada otseteid koos Ctrl+Shift-klahvikombinatsiooniga. Samuti võite kirjutada lühikese ja selge kirjelduse (väga kasulik, kui teil on palju makrosid).

Klõpsake nuppu OK ja tehke salvestatavad toimingud. Näiteks: valige A1 ja rakendage vormingut „Protsent”. Vältige ebavajalikke klõpse või valikumuudatusi, mis ei ole osa kavandatud protsessist, sest salvesti salvestab peaaegu kõik.

  Gemini Code Assist: AI-assistent programmeerijatele on nüüd tasuta saadaval

Kui olete lõpetanud, peatage salvestamine. Selle käivitamiseks minge menüüsse Arendaja > Makrod (või vajutage klahvikombinatsiooni Alt+F8), valige makro ja klõpsake nuppu Käivita. Näete, kuidas Excel kordab samme täpselt samas järjekorras.

Makrode käitamine, muutmine ja haldamine

Makrosid saab käivitada, redigeerida või kustutada menüüst Arendaja > Makrod (Alt+F8). Kui valite Redigeeri, avaneb Visual Basic Editor salvestatud koodiga, mida saab puhastada ja optimeerida (see sisaldab sageli üleliigseid samme).

Makro määramine nupule või kujule on väga mugav: sisesta kujund, paremklõpsa > Määra makro, vali makro ja ongi valmis. Kujundile klõpsates käivitub see kohe.

Selle kiirpääsu tööriistaribal hõlpsasti kättesaadavaks tegemiseks avage tööriistariba menüü (allanool) > Rohkem käske > valige jaotisest „Saadaval olevad käsud” „Makrod”, lisage oma käsud ja muutke ikooni soovi korral. Nüüd on teil püsiv nupp ka siis, kui te pole arendajarežiimis.

Kui teil on vaja makrot teises töövihikus uuesti kasutada, saate mooduli Visual Basic Editorist kopeerida. Avage VBE (Alt+F11), lohistage moodul teise avatud töövihikusse või kasutage käsku Ekspordi/Impordi .bas-fail.

Makrode programmeerimine Excelis Visual Basic (VBA) redaktoriga

Diktofonist kaugemale minemiseks avage redaktor klahvikombinatsiooniga Alt+F11. Lisage moodul (Insert > Module) ja looge oma esimene alamprogramm. Põhimuster on Sub Name() … End Sub.

Näiteks teate kuvamiseks ja väärtuse kirjutamiseks lahtrisse A1 võiksite alustada millegi lihtsaga. Nii saate aru struktuurist ja sellest, kuidas makrot Excelist (Alt+F8) kutsuda või selle nupule määrata, kasutades väga vähe koodiridasid :

Sub Primera_Macro()
    Range("A1").Value = "Esto de las macros mola."
    MsgBox "Hola, querido amigo."
End Sub

Veel üks kiire näide protsendistiili rakendamisest praegusele valikule. See makro kordab seda, mida tegite diktofoniga , aga tippisite otse:

Sub FormatoPorcentaje()
    Selection.Style = "Percent"
End Sub

Ideaalne kombinatsioon on järgmine: salvesta asjade kiirendamiseks ja seejärel ava VBE ebavajalike sammude eemaldamiseks, muutujate, tingimuste või tsüklite lisamiseks. Nii muudad "sõnasõnalise" salvestuse robustseks ja korduvkasutatavaks makroks.

Absoluutsed vs. suhtelised viited

Vaikimisi loob diktofon makrosid absoluutrežiimis: see toimib alati samadele lahtritele (näiteks B3), olenemata sellest, kus te selle käivitamise ajal asute. Kui andmete positsioon teie protsessis muutub, ei pruugi see olla see, mida vajate.

„Kasuta suhtelisi viiteid” korral töötab makro täitmise alustamisel aktiivse lahtri suhtes. Näiteks kui alustasite salvestamist lahtris B3 ja tippisite „Eesnimi”, „Perekonnanimi” jne, siis liikudes paremale, tippib see lahtrist C4 käivitades sama teabe lahtrite C4, D4, E4 jne suhtes .

Tüüpiline näide: pealkirjade lisamine tabelile, mis mõnikord algab lahtrist B3 ja mõnikord lahtrist C5. Absoluutrežiimis kirjutatakse alati lahtrisse B3. Suhterežiimis kohandub see valitud alguslahtriga.

Levinud vead protsesside registreerimisel

Levinud lõks on valemi salvestamine ja "lohistamine" näiteks kolme rea ulatuses ning arvamine, et see töötab ka pikemate tabelite puhul. Salvesti registreerib midagi samaväärset käsuga " täida kolm lahtrit allapoole ", mitte "tabeli lõpuni".

Lahendus on lähenemisviisi muutmine: dünaamiliste vahemike kasutamine (näiteks viimase rea tuvastamine), tsüklite või meetodi CurrentRegion kasutamine või makro VBA-s salvestamise järel selle skaleerimiseks mis tahes suurusele kohandamine.

  Mis on SPSS ja selle funktsioonid

Head tavad salvestamisel

Enne salvestamist käivita protsess käsitsi paar korda, et seda täpsustada. Tee lühikesi ja spetsiifilisi salvestisi ühe suure asemel; see muudab nende haldamise ja kombineerimise lihtsamaks.

Väldi ebavajalikke klikke, lindi kerimist ja valikuid, mis ei lisa midagi. Hoia makro nimi ja kirjeldus selged, et sina või mõni kolleeg saaksid selle eesmärgi koheselt tuvastada.

Makrode käitamine mitmel viisil

Lisaks dialoogiboksile Makrod (Alt+F8) saate makrosid käivitada kujundi, kiirpääsuriba nupu või töövihiku avamise abil. Saate isegi lasta Excelil makro käivitada teistest Office'i rakendustest, mis võimaldab teil automatiseerida rakendustevahelisi ülesandeid (näiteks tabeli värskendamine ja meili saatmine Outlooki kaudu).

Mõelge hoolikalt kiirklahvidele: kui määrate makrole klahvikombinatsiooni Ctrl+Z, kaotate töövihiku avatud olekus tagasivõtmise võimaluse. Seetõttu on konfliktide vältimiseks soovitatav kasutada klahvikombinatsioone Ctrl+Shift .

Töövihikute salvestamine makrodega

Kui fail sisaldab VBA-koodi, salvestage see .xlsm-failina, et kood säiliks ja seda saaks käivitada. .xlsx-failina salvestamine hävitab VBA-projekti . Globaalsete makrode kasutamiseks kasutage isiklikku makrode töövihikut (Personal.xlsb).

Turvalisus ja makrode lubamine

Makrod võivad olla teie turvasätetest olenevalt blokeeritud. Kontrollige usalduskeskust, et lubada need valikuliselt, ja ärge kunagi lubage tundmatutest allikatest pärit makrosid. Turvataseme mõistmine aitab teil tasakaalustada kaitset ja tootlikkust.

Makrode määramine nuppudele, kujunditele ja juhtelementidele

Makrode automaatseks käivitamiseks määrake makro nupule, kujundile või juhtelemendile. Paremklõpsake objektil > Määra makro > valige. Samuti saate ikooni paigutada lindile või kiirpääsuribale ja selle makroga linkida.

Vormide või ActiveX-juhtelementide kasutamisel saate neile määrata makrosid või sündmuste protseduure (näiteks klõpsamisel). See võimaldab kasutajasõbralikumaid liideseid ja juhendatud protsesse.

Kasulikud makro näited (VBA)

Need näited illustreerivad levinud ülesandeid. Saate need moodulisse kleepida (Alt+F11 > Insert > Moodul) ja neid kohandada. Ärge unustage töövihikud allkirjastada või turvaseadeid kohandada, kui teie organisatsioon seda nõuab, et saaksite neid hoiatusteta käivitada.

Kopeeri valitud sisu sama lehe teise kohta: Selection.Copy Destination

Sub CopiarSeleccion()
    If TypeName(Selection) = "Range" Then
        Selection.Copy Destination:=Selection.Offset(0, 2)
    Else
        MsgBox "Selecciona un rango de celdas primero."
    End If
End Sub

Aktiivse lehe printimine: ActiveSheet.PrintOut

Sub ImprimirHojaActual()
    ActiveSheet.PrintOut
End Sub

Salvestage fail makrotoega töövihikuna (.xlsm): ActiveWorkbook.SaveAs

Sub GuardarComoXlsm()
    Dim ruta As String
    ruta = ThisWorkbook.Path & Application.PathSeparator & "LibroConMacros.xlsm"
    ActiveWorkbook.SaveAs Filename:=ruta, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Rakenda vahemikule vormindust (kohanda vahemikku vastavalt oma vajadustele): Vahemiku abil (…)

Sub FormatoRango()
    With Range("A1:D10")
        .Font.Bold = True
        .Interior.Color = RGB(230, 230, 250)
        .Borders.LineStyle = xlContinuous
    End With
End Sub

Leia vahemikust väärtus ja kuva esimene vaste: Vahemik(…).Otsi

Sub BuscarValor()
    Dim celda As Range
    Dim valor As String
    valor = InputBox("¿Qué valor quieres buscar?")
    If valor = "" Then Exit Sub
    Set celda = Range("A1:D1000").Find(What:=valor, LookIn:=xlValues, LookAt:=xlPart)
    If Not celda Is Nothing Then
        MsgBox "Encontrado en: " & celda.Address
        celda.Select
    Else
        MsgBox "No se encontró el valor especificado."
    End If
End Sub

Praktiline juhtum: vormindamine protsentides

Salvestamine: Alusta salvestamist, pane sellele nimi, vali salvestuskoht ja soovi korral määra otsetee ja kirjeldus. Vali lahtrid ja rakenda menüü Avaleht valikut „Protsent”. Peata salvestamine ja seejärel käivita see uuesti klahvikombinatsiooniga Alt+F8. Kui soovid salvestamist minimalistliku koodiga esitada, kasuta VBA-s Selection.Style = "Protsent" .

  Täielik lahendus rakendustele, mis Android Autos ei ilmu

Näpunäide: Salvestamise ajal vältige tarbetut lahtrite vahetamist. Need edasi-tagasi liikumised salvestatakse ja võivad makrot aeglustada ja rikkuda.

Automatiseerige pikki ülesandeid: väikesed makrod on paremad

Kui teil on paljude sammudega protsess, kaaluge selle jagamist mitmeks väiksemaks makroks ja nende järjestikust kutsumist. See lihtsustab hooldust, võimaldab plokke taaskasutada ja lihtsustab silumist.

Näiteks üks makro andmete ettevalmistamiseks, teine ​​vormindamiseks, kolmas väljatrüki genereerimiseks ja kolmas PDF-vormingusse eksportimiseks või e-postiga saatmiseks . Neid saab kutsuda ükshaaval või kõik korraga.

Salvestatud koodi redigeerimine ja puhastamine

Diktofon jäädvustab „kõik”: valikud, klõpsud ja tabulaatori muudatused. VBE avamisel eemaldab see mittevajalikud valikud (Vali/Valik), asendades need otseviidetega (näiteks Vahemik("A1").Väärtus = ... ) ja rühmitab vormingud plokkideks Koos/Lõpeta Koos.

Lisaks lisab see muutujad ja põhilise veakäsitluse. Paar if-lauset ja lihtsad kontrollid hoiavad ära vead, kui vahemik on tühi või valik ei ole ootuspärane.

Preguntas frecuentes

Kuidas luua Excelis kasutajavorm? Ava Visual Basic Editor (Alt+F11), vali Lisa > Kasutajavorm ja lisa juhtelemendid (tekstiväljad, nupud jne). Selle saab kuvada makro abil.

Sub MostrarFormulario()
    UserForm1.Show
End Sub

Sealt edasi määrake juhtelementide sündmustele (näiteks nupule klõpsamine) protseduurid, et käivitada vajalik loogika.

Kuidas ma saan lehte makrodega kaitsta/kaitse eemaldada? Kasutage neid rutiine, muutes parooli vastavalt soovile. Need võimaldavad teil kaitse ühe klõpsuga aktiveerida või deaktiveerida.

Sub ProtegerHoja()
    ActiveSheet.Protect Password:="segura", AllowFiltering:=True
End Sub

Sub DesprotegerHoja()
    ActiveSheet.Unprotect Password:="segura"
End Sub

Kuidas makrot kustutada? Mine menüüsse Arendaja > Makrod, vali makro ja vajuta kustutusklahvi (Delete). Kui soovid moodulist kogu koodi kustutada, ava VBE (Alt+F11), leia projektist moodul, paremklõpsa ja vali "Eemalda moodul" (salvestamiseks võid selle esmalt eksportida).

Veel üks viimane praktiline näpunäide: kui vormindate igakuist aruannet nii, et laekumata saldodega kliendid tuleks punase ja paksu kirjaga esile tõsta, salvestage järjestus üks kord, kohandage VBA-koodi õigele vahemikule (kasutades viimase rea tuvastamist või filtreid) ja salvestage makro oma isiklikku makrode töövihikusse. Järgmisel korral piisab vormingu koheseks, veatuks ja sekunditega rakendamiseks lihtsast otseteest või nupust.

Makrod Excelis
Seotud artikkel:
Makrod Excelis: kuidas ülesandeid automatiseerida ja tootlikkust suurendada