Makron suorittaminen Excelissä

Vaikka makron käyttäminen Excelissä ei ole vaikeaa, on monia tapoja ajaa niitä. Joillakin tavoilla on tarkoitus helpottaa makrojen käyttöä, kun taas toiset voivat muuttaa tapaa, jolla käyttäjä on vuorovaikutuksessa työkirjasi kanssa. Tässä artikkelissa käsitellään joitain ilmeisiä tapoja ajaa makroja, kuten makrolista- ja painikeohjaimet, ja joitain epäselviä tapoja, kuten VB -editori ja tapahtumat.

Ensimmäinen: Varmista, että makrot ovat käytössä

Excelin suojausominaisuudet poistavat makrot käytöstä oletusarvoisesti. Kun avaat makrotoiminnolla varustetun työkirjan, käyttäjille tyypillisesti kysytään, haluavatko ne ottaa makrot käyttöön.

Jos et pysty suorittamaan makroja, kokeile seuraavia ohjeita:

  • Tallenna työkirja
  • Sulje työkirja ja avaa se uudelleen
  • Kun työkirja latautuu, näet a Turvallisuusvaroitus kehote (kuvassa alla). Klikkaus Ota sisältö käyttöön.

Suorita makro makrolistalta

Makroluetteloon pääsee Näytä -välilehdeltä. Voit tarkastella tätä luetteloa seuraavasti:

  • Valitse Näytä välilehti
  • Napsauta merkittyä painiketta Makrot tuo esiin makrolistan

  • Valitse luettelosta suoritettava makro ja napsauta sitten Juosta -painiketta

Voit myös näyttää makrolistan milloin tahansa painamalla ALT+F8.

Suorita makro pikanäppäimellä

Voit määrittää pikanäppäimen makroon, jota käytät usein, esimerkiksi CTRL+tai CTRL+SHIFT+. Tehdä tämä:

  • Tuo esiin makrolista (Näytä > Makrottai ALT+F8)
  • Valitse makro, johon haluat käyttää pikakuvaketta
  • Klikkaus Vaihtoehdot… näyttämään Makroasetukset alivalintaikkuna

  • Alla olevassa tekstiruudussa Pikanäppäin, kirjoita yksi kirjain ja napsauta sitten OK. Jos pidät SHIFT -näppäintä painettuna kirjoittaessasi kirjainta, laatikon vieressä olevassa tarrassa näkyy SHIFT osana pikakuvaketta

HUOMAUTUS: on erittäin suositeltavaa käyttää SHIFT -näppäintä, kun luot pikanäppäintä! Excel käyttää CTRL+ -pikanäppäimiä itselleen, esim. Kopioi painamalla CTRL+C tai tallenna painamalla CTRL+V. Jos luot makron pikakuvakkeen käyttämällä näitä tai muita Excelin pikanäppäimiä, päällekirjoitat Excel-pikakuvakkeen, kunnes määrität makron pikakuvakkeen uudelleen.

Suorita makro VB -editorista

Makroja voidaan ajaa myös VB Editorista. VB Editorin avulla voit tarkistaa makron koodin ja tehdä haluamasi muutokset ennen sen suorittamista.

Makron suorittaminen VB Editorissa:

  • Avaa VB Editor (Kehittäjä -välilehti> Visual Basic tai ALT+F11)

  • Kohteessa Hanke kaksoisnapsauta testattavan makron sisältävää moduulia
  • Moduulin koodi -ikkunassa aseta kohdistin missä tahansa makron koodissa "Sub" ja "End Sub"
  • Klikkaa Juosta -painiketta työkalupalkissa tai paina pikanäppäintä F5

Suorita makro käyttämällä painiketta tai muotoa

Usein on hyödyllistä, että laskentataulukossa on ohjausobjekti, jota käyttäjä voi napsauttaa makron suorittamiseksi, kuten painikeohjaus tai muoto. Tämä on loppukäyttäjille paljon nopeampaa kuin makroluettelojen avaaminen tai makrokoodin kaivaminen VB-editorissa.

Tietoja napsautettavan painikkeen tai muodon luomisesta löytyy täältä: Lisää painike ja määritä makro Excelissä.

Suorita makro automaattisesti VBA: n tapahtumien avulla

Makro voidaan suorittaa, kun Excelissä tapahtuu jotain - esimerkiksi kun työkirja avataan tai kun solun arvoa muutetaan. Näitä kutsutaan Tapahtumat, ja voit kirjoittaa VBA -koodin, jotta he voivat soittaa makroja tai suorittaa muita toimintoja.

Jos haluat kirjoittaa koodin tapahtumalle, sinun on käytettävä VB -editoria. Esimerkiksi työkirjan tapahtumien tarkasteleminen:

  • Avaa VB -editori (ALT+F11)
  • Kaksoisnapsauta Tämä työkirja esine VB -editorissa Projekti -ikkuna
  • Valitse "Työkirja" koodi-ikkunan vasemmassa yläkulmassa olevasta avattavasta valikosta
  • Napsauta oikealla olevaa pudotusvalikkoa nähdäksesi luettelon tapahtumista

Seuraavassa on pieni, mutta hyödyllinen näyte Excel -tapahtumista, joista voit suorittaa makroja.

Työkirja_Avaa ()

Workbook_Open () -tapahtuma käynnistyy, kun työkirja avataan. Jos saat suojausvaroituksen työkirjan avaamisen jälkeen, tämä tapahtuma käynnistyy napsauttamalla Ota sisältö käyttöön.

12345 Yksityinen alityökirja_Avaa ()MsgBox "Työkirja avattu!"End Sub

Workbook_BeforeClose (Peruuta Booleanina)

Workbook_BeforeClose () käynnistyy, kun käyttäjä yrittää sulkea työkirjan. Tämä tapahtuu ennen kuin tarkistukset tehdään, jotta voidaan tarkistaa, onko työkirja tallennettava.

The Peruuttaa parametrin arvoksi voidaan asettaa True, jos haluat estää työkirjan sulkemisen.

123456789 Yksityinen alityökirja_BeforeClose (Peruuta Booleanina)Jos MsgBox ("Oletko varma?", VbYesNo + vbQuestion, "Close") = vbNo SittenPeruuta = TottaLoppu JosEnd Sub

Työsivun_muutos (ByVal -tavoite alueena)

Worksheet_Change () käynnistyy, kun solun arvoa muutetaan - riippumatta siitä, onko sitä muuttanut makro, kopioi/liitä -toiminto vai ulkoinen linkki. Se ei kuitenkaan käynnisty, kun arvo lasketaan uudelleen kaavan avulla.

The Kohde parametri edustaa soluja, joiden arvo on muuttunut.

Jos muutat tapahtuman muiden solujen arvoa, tapahtuma käynnistyy uudelleen. Tämä voi mahdollisesti aiheuttaa äärettömän silmukan. Jos sinun on muutettava solujen arvoja käynnistämättä tätä tapahtumaa, harkitse asetusta Application.EnableEvents kohteeseen Väärä ensin ja aseta se sitten takaisin Totta tapahtumamenettelyn lopussa.

123456789 Yksityinen alityöarkin_muutos (ByVal -kohde alueena)MsgBox "Solut muutettu:" & Target.AddressApplication.EnableEvents = VääräAlue ("A2"). Arvo = Alue ("A2"). Arvo + Kohde.Solut.LukuApplication.EnableEvents = TosiEnd Sub

Worksheet_SelectionChange (ByVal Target as Range)

Tämä tapahtuma käynnistyy aina, kun eri solut valitaan kohdistusverkolla. Kohdeparametri edustaa valittuja uusia soluja.

Voit käynnistää tämän tapahtuman myös koodilla, eli "Alue (" A1 "). Valitse". Kuten Worksheet_Change (): n kanssa, sinun tulee olla varovainen muiden solujen valitsemisessa tämän tapahtuman sisällä, koska voit aiheuttaa äärettömän silmukan. Käytä Application.EnableEvents.

123456789 Yksityinen alityöarkki_SelectionChange (ByVal Target as Range)Jos Target.Address = "$ A $ 1" SittenMsgBox "Kohdistin kotiasennossa."Loppu JosEnd Sub

Pysäytä käynnissä oleva makro

Käynnissä oleva makro voidaan keskeyttää painamalla POISTU tai CTRL+BREAK. Keskeytetty makro näyttää oletusarvoisesti seuraavan valintaikkunan:

Napsauttamalla Loppu pysäyttää makron Jatkaa jatkaa sitä. Napsauttamalla Virheenkorjaus avaa makron VB Editorissa ja keskittää koodirivin, jonka suoritus on keskeytetty. (Voit pysäyttää tai jatkaa makroa VB Editorin sisällä työkalurivin Suorita- tai Lopeta -painikkeilla.)

Application.EnableCancelKey

Voit poistaa makron pysäyttämisen käytöstä ESC- tai CTRL+BREAK -näppäimellä valitsemalla Application.EnableCancelKey omaisuutta. Tällä ominaisuudella on kolme mahdollista arvoa:

  • xl Keskeytys - tämä on oletusarvo, joka saa Excelin näyttämään yllä olevan valintaikkunan
  • xlEi käytössä - poistaa kyvyn pysäyttää käynnissä oleva makro
  • xlErrorHandler - kun keskeytysyritys tehdään, heitetään virhe, joka voidaan käsitellä koodissa

Aina kun koodin suoritus pysähtyy, Excel nollaa aina sovelluksen arvon. EnableCancelKey takaisin kohteeseen xl Keskeytys.

Hyvä syy käyttää tätä omaisuutta on turvallisuus. Jos sinulla on esimerkiksi makro, joka on tilapäisesti suojaamaton osa työkirjaasi, käyttäjä voi mahdollisesti lopettaa makron heti suojauksen poistamisen jälkeen ja saada pääsyn sisältöön, jota et halunnut omistaa. Asettamalla Application.EnableCancelKey voit poistaa heidän kykynsä tehdä tämän kokonaan tai käsitellä niiden keskeytyksen tyylikkäästi virheenkäsittelijän avulla, joka suojaa työkirjan uudelleen.

1234567891011 Osa 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

Sulje Excel pakolla Windowsin Tehtävienhallinnan avulla

Jos makro on "jumissa" tai Excelistä on tullut liian kiireinen hyväksymään keskeytysyritys, sinun on ehkä pakko sulkea Excel pakolla Windowsin Tehtävienhallinta. (HUOMAUTUS: Jos teet tämän, menetät tallentamattomat työt ja sinun on luotettava työkirjan automaattiseen palautusversioon.)

  • Avaa Tehtävienhallinta suoraan CTRL+VAIHTO+ESC
  • Valitse "Prosessit”Välilehti
  • Laajenna "Microsoft Excel" -kohde näyttääksesi kaikki työkirjat
  • Valitse työkirja, jonka haluat sulkea, ja napsauta sitten Lopeta tehtävä oikeassa alakulmassa

wave wave wave wave wave