Kako zagnati makro v Excelu

Čeprav izvajanje makra v Excelu ni težko, obstaja veliko načinov, kako jih zagnati. Nekateri načini naj bi olajšali uporabo makrov, drugi pa lahko popolnoma spremenijo način uporabnikove interakcije z vašim delovnim zvezkom. V tem članku bomo obravnavali nekaj očitnih načinov izvajanja makrov, kot so kontrolniki seznama makrov in gumbov, ter nekatere bolj nejasne načine, kot sta urejevalnik VB in dogodki.

Prvič: Prepričajte se, da so makri omogočeni

Excelove varnostne funkcije bodo privzeto onemogočile makre. Ko odprete delovni zvezek, ki podpira makro, se uporabniki običajno vprašajo, ali želijo omogočiti makre.

Če makrov ne morete zagnati, sledite tem navodilom:

  • Shranite delovni zvezek
  • Zaprite delovni zvezek in ga nato znova odprite
  • Ko se delovni zvezek naloži, boste videli a Varnostno opozorilo poziv (na sliki spodaj). Kliknite Omogoči vsebino.

Zaženite makro s seznama makrov

Seznam makrov je dostopen na zavihku Pogled. Če si želite ogledati ta seznam:

  • Izberite Pogled zavihek
  • Kliknite gumb z oznako Makri odpreti seznam makrov

  • Na seznamu izberite makro, ki ga želite zagnati, nato kliknite Teči gumb

Seznam makrov lahko kadar koli prikažete tudi s pritiskom na ALT+F8.

Zaženite makro z bližnjico na tipkovnici

Makro, ki ga pogosto uporabljate, lahko dodelite bližnjico na tipkovnici v obliki CTRL+ali CTRL+SHIFT+. Storiti to:

  • Odprite seznam makrov (Pogled > Makriali ALT+F8)
  • Izberite makro, do katerega želite uporabiti bližnjico
  • Kliknite Opcije… pokazati Možnosti makra pod-pogovorno okno

  • V besedilnem polju pod Tipka za bližnjico, vnesite eno črko in kliknite v redu. Če med tipkanjem črke držite tipko SHIFT, bo oznaka poleg polja prikazala SHIFT kot del bližnjice

OPOMBA: zelo priporočljivo je, da pri ustvarjanju bližnjice uporabite SHIFT! Excel zase uporablja bližnjice CTRL+, npr. CTRL+C za kopiranje ali CTRL+V za shranjevanje. Če ustvarite bližnjico makra s temi ali drugimi bližnjicami v Excelu, boste bližnjico v Excelu prepisali, dokler ne boste znova dodelili bližnjice makra.

Zaženite makro iz urejevalnika VB

Makre lahko zaženete tudi iz urejevalnika VB. Urejevalnik VB vam omogoča, da pregledate kodo makra in naredite vse potrebne spremembe, preden ga zaženete.

Če želite zagnati makro v urejevalniku VB:

  • Odprite urejevalnik VB (zavihek Razvijalec> Visual Basic ali ALT+F11)

  • V Projekt okno, dvokliknite modul, ki vsebuje makro, ki ga želite preizkusiti
  • V oknu kode modula postavite kazalec kjer koli na kodi makra med "Sub" in "End Sub"
  • Kliknite na Teči na orodni vrstici ali pritisnite bližnjico na tipkovnici F5

Zaženite makro z gumbom ali obliko

Pogosto je koristno imeti kontrolnik na delovnem listu, ki ga uporabnik lahko klikne za zagon makra, na primer kontrolnik gumba ali obliko. To je za končne uporabnike veliko hitrejše kot odpiranje seznamov makrov ali kopanje po kodi makra v urejevalniku VB.

Informacije o tem, kako ustvariti gumb ali obliko, ki jo je mogoče klikniti, najdete tukaj: Dodajte gumb in dodelite makro v Excelu.

Samodejni zagon makra z uporabo dogodkov v VBA

Makro je mogoče zagnati, ko se kaj zgodi v Excelu - na primer, ko se odpre delovni zvezek ali ko se spremeni vrednost celice. Te se imenujejo Dogodkiin jim lahko napišete kodo VBA, da pokliče makre ali izvede druge operacije.

Če želite napisati kodo za dogodek, morate uporabiti urejevalnik VB. Če si želite na primer ogledati dogodke v delovnem zvezku:

  • Odprite urejevalnik VB (ALT+F11)
  • Dvokliknite ikono Ta delovni zvezek predmet v urejevalniku VB Okno projekta
  • V spustnem meniju v zgornjem levem kotu okna za kodo izberite »Delovni zvezek«
  • Kliknite spustni meni na desni, da si ogledate seznam dogodkov

Spodaj je majhen, a uporaben vzorec Excelovih dogodkov, iz katerih lahko zaženete makre.

Workbook_Open ()

Dogodek Workbook_Open () se sproži, ko odprete delovni zvezek. Če po odprtju delovnega zvezka prejmete varnostno opozorilo, se ta dogodek sproži, ko kliknete »Omogoči vsebino«.

12345 Private Sub Workbook_Open ()MsgBox "Odprt delovni zvezek!"End Sub

Workbook_BeforeClose (Prekliči kot Boolean)

Workbook_BeforeClose () se sproži, ko uporabnik poskuša zapreti delovni zvezek. To se zgodi, preden se preverijo, ali je treba delovni zvezek shraniti.

The Prekliči Če želite ustaviti zapiranje delovnega zvezka, lahko nastavite parameter True.

123456789 Private Sub Workbook_BeforeClose (Prekliči kot logično)Če je MsgBox ("Ste prepričani?", VbYesNo + vbQuestion, "Close") = vbNo PotemPrekliči = resKonec ČeEnd Sub

Worksheet_Change (cilj ByVal kot obseg)

Delovni list_Change () se sproži, ko se spremeni vrednost celice - ne glede na to, ali jo spremeni makro, operacija kopiranja/lepljenja ali zunanja povezava. Vendar se ne sproži, ko se vrednost preračuna po formuli.

The Target parameter predstavlja celice, katerih vrednost se je spremenila.

Če spremenite vrednost drugih celic v tem dogodku, se bo dogodek znova sprožil. To lahko povzroči neskončno zanko. Če morate spremeniti vrednosti celic, ne da bi sprožili ta dogodek, razmislite o nastavitvi Application.EnableEvents do Napačno najprej, nato pa ga nastavite nazaj na Prav na koncu postopka dogodka.

123456789 Zasebni pod -delovni list_Sprememba (cilj ByVal kot obseg)MsgBox "Celice spremenjene:" & Target.AddressApplication.EnableEvents = FalseRazpon ("A2"). Vrednost = Razpon ("A2"). Vrednost + ciljna celica.Application.EnableEvents = TrueEnd Sub

Worksheet_SelectionChange (cilj ByVal kot obseg)

Ta dogodek se sproži, kadar so izbrane različne celice s ciljno mrežo. Parameter Target predstavlja nove celice, ki so bile izbrane.

Ta dogodek lahko sprožite tudi s kodo, na primer »Razpon (» A1 «). Izberite». Tako kot pri Worksheet_Change () bodite previdni pri izbiri drugih celic v tem dogodku, saj lahko povzročite neskončno zanko. Uporabite Application.EnableEvents.

123456789 Zasebni pod -delovni list_SelectionChange (cilj ByVal kot obseg)Če je Target.Address = "$ A $ 1" PotemMsgBox "Kurzor v domačem položaju."Konec ČeEnd Sub

Ustavite tekoči makro

Delovni makro lahko prekinete s pritiskom na ESC ali CTRL+BREAK. Privzeto bo prekinjeni makro prikazal to pogovorno okno:

Klik Konec bo ustavil makro, medtem ko Nadaljuj ga bo nadaljeval. Klik Odpravljanje napak bo odprl makro v urejevalniku VB in usmeril vrstico kode, na kateri je bila zaustavljena izvedba. (V urejevalniku VB lahko makro ustavite ali nadaljujete z gumboma Zaženi ali Končaj na orodni vrstici.)

Application.EnableCancelKey

Z možnostjo ESC ali CTRL+BREAK lahko onemogočite možnost zaustavitve makra Application.EnableCancelKey lastnine. Ta lastnost ima tri možne vrednosti:

  • xlPrekinite - to je privzeta vrednost, zaradi katere Excel prikaže zgornje pogovorno okno
  • xlOmogočeno - odstrani možnost zaustavitve izvajanega makra
  • xlErrorHandler - ob poskusu prekinitve pride do napake, ki jo je mogoče odpraviti v kodi

Kadar koli se izvajanje kode ustavi, Excel vedno ponastavi vrednost Application.EnableCancelKey nazaj na xlPrekinite.

Dober razlog za uporabo te nepremičnine je varnost. Če ste na primer imeli makro, ki je začasno nezaščitil dele delovnega zvezka, bi lahko uporabnik po odstranitvi zaščite potencialno ustavil makro in pridobil dostop do vsebine, ki je ne nameravate imeti. Če nastavite Application.EnableCancelKey, lahko popolnoma onemogočite njihovo zmožnost za to, ali pa preudarno ravnate z njihovo prekinitvijo z upravljalnikom napak, ki ponovno zaščiti delovni zvezek.

1234567891011 Sub UpdateBaseData (ByVal NewData As Range, ByVal Target As Range)Application.EnableCancelKey = xlDisabledTarget.Worksheet.Unprotect "MyPassword"NewData.Copy TargetTarget.Worksheet.Protect "MyPassword"Application.EnableCancelKey = xlInterruptEnd Sub

Prisilno zaprite Excel z upraviteljem opravil Windows

Če je makro "visel" ali je Excel postal preveč zaposlen, da bi potrdil poskus prekinitve, boste morda morali prisilno zapreti sam Excel z Upravitelj opravil Windows. (OPOMBA: če to storite, lahko izgubite neshranjeno delo in se morate zanašati na samodejno obnovljeno različico svojega delovnega zvezka.)

  • Odprite upravitelja opravil neposredno z CTRL+SHIFT+ESC
  • Izberite »Procesi”Zavihek
  • Razširite element »Microsoft Excel«, da prikažete vse delovne zvezke
  • Izberite delovni zvezek, ki ga želite zapreti, nato kliknite Končaj opravilo v spodnjem desnem kotu

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave