- Pirma: įsitikinkite, kad makrokomandos įjungtos
- Paleiskite makrokomandą iš makrokomandų sąrašo
- Paleiskite makrokomandą naudodami sparčiuosius klavišus
- Paleiskite makrokomandą iš VB redaktoriaus
- Vykdykite makrokomandą naudodami mygtuką arba formą
- Automatiškai paleiskite makrokomandą naudodami įvykius VBA
- Sustabdykite veikiančią makrokomandą
Nors paleisti makrokomandą „Excel“ nėra sunku, yra daug būdų juos paleisti. Kai kurie būdai palengvina makrokomandų naudojimą, o kiti gali visiškai pakeisti naudotojo sąveikos su jūsų darbaknyge būdą. Šiame straipsnyje apžvelgsime keletą akivaizdžių būdų, kaip paleisti makrokomandas, tokias kaip makrokomandų sąrašas ir mygtukų valdikliai, ir keletą neaiškių būdų, tokių kaip VB redaktorius ir įvykiai.
Pirma: įsitikinkite, kad makrokomandos įjungtos
„Excel“ saugos funkcijos pagal numatytuosius nustatymus išjungs makrokomandas. Atidarius makrokomandas įgalinančią darbaknygę, vartotojai paprastai raginami, jei jie nori įgalinti makrokomandas.
Jei negalite paleisti makrokomandų, pabandykite vykdyti šias instrukcijas:
- Išsaugokite darbo knygą
- Uždarykite darbaknygę, tada vėl ją atidarykite
- Kai darbo knyga įkeliama, pamatysite a Apsaugos Įspėjimas raginimas (pavaizduota žemiau). Spustelėkite Įgalinti turinį.
Paleiskite makrokomandą iš makrokomandų sąrašo
Makrokomandų sąrašą galima pasiekti skirtuke Rodinys. Norėdami peržiūrėti šį sąrašą:
- Pasirinkite Peržiūrėti skirtuką
- Spustelėkite mygtuką, pažymėtą Makrokomandos kad būtų pateiktas makrokomandų sąrašas
- Iš sąrašo pasirinkite makrokomandą, kurią norite paleisti, tada spustelėkite Bėgti mygtuką
Taip pat galite bet kada parodyti makrokomandų sąrašą paspausdami ALT+F8.
Paleiskite makrokomandą naudodami sparčiuosius klavišus
Galite priskirti spartųjį klavišą dažnai naudojamai makrokomandai CTRL+arba CTRL+SHIFT+pavidalu. Padaryti tai:
- Atidarykite makrokomandų sąrašą (Peržiūrėti > Makrokomandosarba ALT+F8)
- Pasirinkite makrokomandą, kuriai norite taikyti nuorodą
- Spustelėkite Galimybės… parodyti Makro parinktys papildomas dialogas
- Teksto laukelyje po Spartusis klavišas, įveskite vieną raidę ir spustelėkite Gerai. Jei rašydami raidę laikote nuspaudę klavišą SHIFT, šalia langelio esanti etiketė kaip SHIFT bus rodoma kaip spartusis klavišas
PASTABA: kuriant spartųjį klavišą labai rekomenduojama naudoti SHIFT! „Excel“ naudoja CTRL+ nuorodas sau, pvz. CTRL+C kopijuoti arba CTRL+V išsaugoti. Jei kuriate makrokomandos spartųjį klavišą naudodami šiuos ar kitus „Excel“ sparčiuosius klavišus, perrašysite „Excel“ nuorodą, kol iš naujo priskirsite makrokomandos nuorodą.
Paleiskite makrokomandą iš VB redaktoriaus
Makrokomandas taip pat galima paleisti iš VB redaktoriaus. VB redaktorius leidžia peržiūrėti makrokomandos kodą ir atlikti bet kokius norimus pakeitimus prieš jį paleidžiant.
Norėdami paleisti makrokomandą VB redaktoriuje:
- Atidarykite VB redaktorių (skirtukas Kūrėjas> Visual Basic arba ALT+F11)
- Viduje konors Projektas lange dukart spustelėkite modulį, kuriame yra norima išbandyti makrokomanda
- Modulio kodo lange padėkite žymeklį bet kurioje makrokomandos kodo vietoje tarp „Sub“ ir „End Sub“
- Spustelėkite Bėgti mygtuką įrankių juostoje arba paspauskite spartųjį klavišą F5
Vykdykite makrokomandą naudodami mygtuką arba formą
Dažnai naudinga darbalapyje turėti valdiklį, kurį naudotojas gali spustelėti norėdamas paleisti makrokomandą, pvz., Mygtuko valdiklį ar formą. Galutiniams vartotojams tai yra daug greičiau nei atidaryti makrokomandų sąrašus ar ieškoti makrokomandos kodo VB redaktoriuje.
Informaciją apie tai, kaip sukurti spustelėjamą mygtuką ar formą, rasite čia: Pridėkite mygtuką ir priskirkite makrokomandą „Excel“.
Automatiškai paleiskite makrokomandą naudodami įvykius VBA
Makrokomandą galima paleisti, kai kas nors atsitinka „Excel“, pavyzdžiui, kai atidaroma darbaknygė arba pakeičiama langelio vertė. Šie vadinami Įvykiai, ir jūs galite parašyti VBA kodą, kad jie galėtų skambinti makrokomandoms ar atlikti kitas operacijas.
Norėdami parašyti įvykio kodą, turite naudoti VB redaktorių. Pavyzdžiui, norėdami peržiūrėti darbaknygės įvykius:
- Atidarykite VB redaktorių (ALT+F11)
- Dukart spustelėkite Ši darbo knyga objektą VB redaktoriuje Projekto langas
- Kodo lango viršuje kairėje esančiame išskleidžiamajame meniu pasirinkite „Darbo knyga“
- Spustelėkite išskleidžiamąjį meniu dešinėje, kad pamatytumėte įvykių sąrašą
Toliau pateikiamas nedidelis, bet naudingas „Excel“ įvykių, iš kurių galėtumėte paleisti makrokomandas, pavyzdys.
Workbook_Open ()
„Workbook_Open“ () įvykis suaktyvinamas atidarius darbaknygę. Jei atidarę darbaknygę gaunate įspėjimą apie saugumą, šis įvykis suaktyvinamas spustelėjus „Įgalinti turinį“.
12345 | Privati antrinė darbo knyga_Atidaryti ()„MsgBox“ „Darbo knyga atidaryta!“Pabaiga Sub |
Workbook_BeforeClose (atšaukti kaip loginis)
„Workbook_BeforeClose“ () suaktyvinamas, kai vartotojas bando uždaryti darbaknygę. Tai įvyksta prieš atliekant bet kokius patikrinimus, ar reikia išsaugoti darbaknygę.
The Atšaukti parametrą galima nustatyti į „True“, kad sustabdytumėte darbo knygos uždarymą.
123456789 | Privati antrinė darbo knyga_BeforeClose (Atšaukti kaip loginis)Jei „MsgBox“ („Ar esate tikras?“, VbYesNo + vbQuestion, „Close“) = vbNe TadaAtšaukti = tiesaPabaiga JeiPabaiga Sub |
Worksheet_Change („ByVal Target as Range“)
„Worksheet_Change ()“ suaktyvinamas, kai pakeičiama langelio reikšmė - nesvarbu, ar tai pakeista makrokomanda, ar kopijavimo/įklijavimo operacija, ar išorinė nuoroda. Tačiau jis neužsidega, kai vertė perskaičiuojama naudojant formulę.
The Tikslas parametras reiškia ląsteles, kurių vertė pasikeitė.
Jei pakeisite kitų šio įvykio langelių vertę, įvykis vėl bus suaktyvintas. Tai gali sukelti begalinę kilpą. Jei jums reikia pakeisti langelių reikšmes nesuaktyvinus šio įvykio, apsvarstykite galimybę nustatyti Application.EnableEvents į Netiesa pirmiausia, o tada vėl nustatykite Tiesa renginio procedūros pabaigoje.
123456789 | Privatus antrinis darbalapio keitimas („ByVal Target“ kaip diapazonas)„MsgBox“ Ląstelės pakeistos: „& Target.AddressApplication.EnableEvents = NetiesaDiapazonas („A2“). Reikšmė = diapazonas („A2“). Vertė + taikinys.Ląstelės.SkaičiusApplication.EnableEvents = TiesaPabaiga Sub |
Worksheet_SelectionChange („ByVal Target As Range“)
Šis įvykis suaktyvinamas, kai su taikymo tinkleliu pasirenkamos skirtingos ląstelės. Parametras Tikslas reiškia naujas pasirinktas ląsteles.
Šį įvykį taip pat galite suaktyvinti naudodami kodą, t. Y. „Diapazonas („ A1 “). Pasirinkite“. Kaip ir „Worksheet_Change“ (), turėtumėte būti atsargūs pasirinkdami kitas šio įvykio ląsteles, nes galite sukelti begalinę kilpą. Naudokite Application.EnableEvents.
123456789 | Privatus antrinis darbalapis_SelectionChange („ByVal Target As Range“)Jei Target.Address = "$ A $ 1" Tada„MsgBox“ „Žymeklis pradinėje padėtyje“.Pabaiga JeiPabaiga Sub |
Sustabdykite veikiančią makrokomandą
Veikiantį makrokomandą galima nutraukti paspaudus ESC arba CTRL+BREAK. Pagal numatytuosius nustatymus nutraukta makrokomanda parodys šį dialogo langą:
Spustelėję Galas sustabdys makrokomandą Tęsti jį atnaujins. Spustelėję Derinimas atidarys makrokomandą VB redaktoriuje ir sufokusuos kodo eilutę, kurios vykdymas buvo pristabdytas. (VB redaktoriuje galite sustabdyti arba atnaujinti makrokomandą naudodami įrankių juostos mygtukus Vykdyti arba Baigti.)
Application.EnableCancelKey
Galite išjungti galimybę sustabdyti makrokomandą naudodami ESC arba CTRL+BREAK, nustatydami Application.EnableCancelKey nuosavybė. Ši savybė turi tris galimas vertes:
- xlPertraukiamas - tai yra numatytoji vertė, dėl kurios „Excel“ parodo aukščiau esantį dialogo langą
- xlIšjungta - pašalina galimybę sustabdyti veikiančią makrokomandą
- xlErrorHandler - kai bandoma nutraukti, išmetama klaida, kurią galima apdoroti kodu
Kai kodo vykdymas sustoja, „Excel“ visada iš naujo nustato „Application.EnableCancelKey“ reikšmę xlPertraukiamas.
Gera priežastis naudotis šia nuosavybe yra saugumas. Pavyzdžiui, jei turite makrokomandą, kuri laikinai apsaugo jūsų darbaknygės dalis, vartotojas gali sustabdyti makrokomandą iškart po apsaugos ir gauti prieigą prie turinio, kurio nenorėjote turėti. Nustatydami „Application.EnableCancelKey“, galite visiškai išjungti jų galimybę tai padaryti arba gražiai tvarkyti jų pertraukimą naudodami klaidų tvarkyklę, kuri iš naujo apsaugo darbaknygę.
1234567891011 | Sub UpdateBaseData („ByVal NewData As Range“, „ByVal Target As Range“)Application.EnableCancelKey = xlDisabledTarget.Worksheet.Nuimkite „MyPassword“ apsaugąNewData.Copy TargetTarget.Worksheet.Protect "MyPassword"Application.EnableCancelKey = xlInterruptPabaiga Sub |
Priverstinai uždarykite „Excel“ naudodami „Windows“ užduočių tvarkyklę
Jei makrokomanda „pakabinta“ arba „Excel“ tapo per daug užimta, kad pripažintų pertraukimo bandymą, gali tekti priverstinai uždaryti „Excel“ naudojant „Windows“ užduočių tvarkyklė. (PASTABA: jei tai padarysite, galite prarasti visus neišsaugotus darbus ir pasikliauti automatiškai atkurta jūsų darbaknygės versija.)
- Tiesiogiai atidarykite užduočių tvarkyklę naudodami CTRL+SHIFT+ESC
- Pasirinkite „Procesai“Skirtuką
- Išskleiskite elementą „Microsoft Excel“, kad būtų rodomos visos darbaknygės
- Pasirinkite darbaknygę, kurią norite uždaryti, tada spustelėkite Baigti užduotį apatiniame dešiniajame kampe
