Kaip paleisti makrokomandą „Excel“

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

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave