Kuigi makro käivitamine Excelis pole keeruline, on nende käivitamiseks palju võimalusi. Mõned viisid on mõeldud makrode kasutamise hõlbustamiseks, teised aga võivad muuta seda, kuidas kasutaja teie töövihikuga suhtleb. Selles artiklis käsitleme mõningaid ilmselgeid viise, kuidas makrosid käitada, nagu makroste loend ja nuppude juhtelemendid, ning mõningaid varjatumaid viise, nagu VB redaktor ja sündmused.
Esiteks: veenduge, et makrod on lubatud
Exceli turvafunktsioonid keelavad makrod vaikimisi. Makrotoega töövihiku avamisel küsitakse kasutajatelt tavaliselt, kas nad soovivad makrosid lubada.
Kui te ei saa makrosid käitada, proovige järgida neid juhiseid.
- Salvestage töövihik
- Sulgege töövihik ja avage see uuesti
- Töövihiku laadimisel näete a Turvahoiatus kiire (pildil allpool). Klõpsake nuppu Sisu lubamine.
Käivitage makro loendist Makro
Makrode loendile pääseb juurde vahekaardilt Vaade. Selle loendi vaatamiseks tehke järgmist.
- Valige Vaade vahekaart
- Klõpsake nuppu sildiga Makrod Makroloendi avamiseks
- Valige loendist makro, mida soovite käivitada, seejärel klõpsake nuppu Jookse nuppu
Makroloendit saate igal ajal kuvada ka vajutades ALT+F8.
Käivitage makro, kasutades kiirklahvi
Sageli kasutatavale makrole saate määrata kiirklahvi CTRL+või CTRL+SHIFT+kujul. Selleks tehke järgmist.
- Avage makroloend (Vaade > Makrodvõi ALT+F8)
- Valige makro, millele soovite otsetee rakendada
- Klõpsake nuppu Valikud… näitama Makro valikud alamdialoog
- Allolevas tekstikastis Kiirklahv, tippige üks täht ja seejärel klõpsake Okei. Kui hoiate tähe sisestamise ajal all klahvi SHIFT, kuvatakse kasti kõrval oleval sildil otsetee osana SHIFT
MÄRGE: on väga soovitatav kasutada kiirklahvi loomisel SHIFT! Excel kasutab enda jaoks CTRL+ otseteid, nt. CTRL+C kopeerimiseks või CTRL+V salvestamiseks. Kui loote makro otsetee nende või muude Exceli otseteede abil, kirjutate Exceli otsetee üle, kuni määrate makro otsetee uuesti.
Käivitage VB redaktorist makro
Makroid saab käivitada ka VB redaktorist. VB redaktor võimaldab teil enne makro käivitamist makro koodi üle vaadata ja teha soovitud muudatusi.
Makro käitamiseks VB redaktoris toimige järgmiselt.
- Avage VB redaktor (vahekaart Arendaja> Visual Basic või ALT+F11)
- Aastal Projekt topeltklõpsake testitavat makro sisaldavat moodulit
- Mooduli koodi aknas asetage kursor kõikjal makro koodis „Sub” ja „End Sub” vahel
- Klõpsake Jookse nuppu tööriistaribal või vajutage kiirklahvi F5
Käivitage makro nupu või kuju abil
Sageli on kasulik töölehel juhtnupp, millel kasutaja saab makro käivitamiseks klõpsata, näiteks nupu juhtelement või kuju. Lõppkasutajate jaoks on see palju kiirem kui makroloendite avamine või VB-redaktoris makrikoodi otsimine.
Teavet klõpsatava nupu või kuju loomise kohta leiate siit: nupu lisamine ja makro määramine Excelis.
Käivitage makro automaatselt VBA sündmuste abil
Makro saab käivitada, kui Excelis midagi juhtub - näiteks kui töövihik avatakse või kui lahtri väärtust muudetakse. Neid nimetatakse Sündmusedja saate neile kirjutada VBA -koodi, et helistada makrodele või teha muid toiminguid.
Sündmuse koodi kirjutamiseks peate kasutama VB redaktorit. Näiteks töövihiku sündmuste vaatamiseks tehke järgmist.
- Avage VB redaktor (ALT+F11)
- Topeltklõpsake ikooni See tööraamat objekt VB redaktoris Projekti aken
- Valige koodiakna vasakus ülanurgas olevast rippmenüüst „Töövihik”
- Sündmuste loendi vaatamiseks klõpsake paremal olevat rippmenüüd
Järgnevalt on toodud väike, kuid kasulik näide Exceli sündmustest, millest saate makrosid käivitada.
Töövihik_Avatud ()
Sündmus Workbook_Open () käivitub töövihiku avamisel. Kui pärast töövihiku avamist kuvatakse turvahoiatus, käivitatakse see sündmus pärast nuppu „Luba sisu”.
12345 | Privaatne alamtöövihik_Avatud ()MsgBox "Töövihik on avatud!"End Sub |
Workbook_BeforeClose (Tühista kui Boolean)
Workbook_BeforeClose () käivitub, kui kasutaja proovib töövihiku sulgeda. See juhtub enne kontrollide tegemist, et näha, kas töövihik tuleb salvestada.
The Tühista parameetri saab seada väärtusele Tõene, et peatada töövihiku sulgemine.
123456789 | Privaatne alamtöövihik_BeforeClose (Tühista kui Boolean)Kui MsgBox ("Kas olete kindel?", VbYesNo + vbQuestion, "Close") = vbNo SiisTühista = TõsiLõpp KuiEnd Sub |
Worksheet_Change (ByVal Target kui vahemik)
Tööleht_muutus () käivitub, kui lahtri väärtust muudetakse - olenemata sellest, kas seda muudab makro, kopeerimise/kleepimise toiming või väline link. Siiski ei käivitu see, kui väärtus valemi abil ümber arvutatakse.
The Sihtmärk parameeter tähistab lahtreid, mille väärtus on muutunud.
Kui muudate selle sündmuse teiste lahtrite väärtust, käivitatakse sündmus uuesti. See võib põhjustada lõpmatu tsükli. Kui peate muutma lahtrite väärtusi ilma seda sündmust käivitamata, kaaluge seadistamist Application.EnableEvents et Vale esmalt ja seejärel seadke see tagasi Tõsi üritusprotseduuri lõpus.
123456789 | Privaatne alamlehe muutmine (ByVal Target kui vahemik)MsgBox "Lahtrid on muudetud:" & Target.AddressApplication.EnableEvents = ValeVahemik ("A2"). Väärtus = vahemik ("A2"). Väärtus + sihtmärk.rakud.arvApplication.EnableEvents = TõsiEnd Sub |
Worksheet_SelectionChange (ByVal Target as Range)
See sündmus käivitub alati, kui sihtimisvõrguga on valitud erinevad lahtrid. Parameeter Sihtmärk tähistab valitud uusi lahtreid.
Selle sündmuse saate käivitada ka koodiga, st „Vahemik („ A1 ”). Valige”. Nagu Worksheet_Change () puhul, peaksite ka selle sündmuse teiste lahtrite valimisel olema ettevaatlik, kuna võite põhjustada lõpmatu tsükli. Kasutage Application.EnableEvents.
123456789 | Privaatne alamlehe_valikKui Target.Address = "$ A $ 1" SiisMsgBox "Kursor koduasendis."Lõpp KuiEnd Sub |
Peatage jooksev makro
Jooksvat makro saab katkestada, vajutades ESC või CTRL+BREAK. Vaikimisi kuvatakse katkestatud makro järgmine dialoog:
Klõpsates Lõpp peatab makro Jätka jätkab seda. Klõpsates Silumine avab makro VB redaktoris ja keskendub koodireale, mille täitmine peatati. (VB redaktoris saate makro peatada või jätkata tööriistariba nuppude Käivita või Lõpeta abil.)
Application.EnableCancelKey
Makro peatamise funktsiooni ESC või CTRL+BREAK abil saate keelata, määrates Application.EnableCancelKey vara. Sellel atribuudil on kolm võimalikku väärtust:
- xlKatkestus - see on vaikeväärtus, mis paneb Excel näitama ülaltoodud dialoogi
- xlPuuetega - eemaldab jooksva makro peatamise võimaluse
- xlErrorHandler - katkestamiskatse korral visatakse viga, mida saab koodis käsitleda
Kui koodi täitmine peatub, lähtestab Excel alati rakenduse väärtuse. EnableCancelKey tagasi xlKatkestus.
Hea põhjus selle vara kasutamiseks on turvalisus. Näiteks kui teil oli makro, mis ajutiselt kaitses teie töövihiku osi, võis kasutaja makro kohe pärast kaitset eemaldada ja pääseda juurde sisule, mida te ei kavatsenud omada. Seadistades Application.EnableCancelKey, saate täielikult keelata nende võime seda teha või käsitleda nende katkestust graatsiliselt veakäitlejaga, mis kaitseb töövihikut uuesti.
1234567891011 | Alam UpdateBaseData (ByVal NewData As Range, ByVal Target As Range)Application.EnableCancelKey = xlDisabledTarget.Worksheet.Tühista "MyPassword" kaitseNewData.Copy TargetTarget.Worksheet.Protect "MyPassword"Application.EnableCancelKey = xlInterruptEnd Sub |
Sulgege Excel jõuga Windowsi tegumihalduri abil
Kui makro on „rippunud” või Excel on katkestuskatse tunnistamiseks liiga hõivatud, peate võib-olla Exceli ise sundlülitama Windowsi tegumihaldur. (MÄRKUS. Kui te seda teete, võite salvestamata töö kaotada ja peate lootma oma töövihiku automaatse taastamise versioonile.)
- Avage Task Manager otse, kasutades CTRL+SHIFT+ESC
- Valige "Protsessid”Vahekaart
- Laiendage üksust „Microsoft Excel”, et kuvada kõik töövihikud
- Valige töövihik, mille soovite sulgeda, ja seejärel klõpsake Lõpeta ülesanne paremas alanurgas
