Makrokomandos vykdymas

Makrokomandą programoje „Microsoft Excel“ galima vykdyti keliais būdais. Makrokomanda yra veiksmas arba veiksmų rinkinys, kurį galite naudoti užduotims automatizuoti. Makrokomandos įrašomos programų kūrimo kalba „Visual Basic for Applications“. Makrokomandą visada galite vykdyti spustelėdami juostelės komandą Makrokomandos. Atsižvelgiant į tai, koks vykdymas makrokomandai priskirtas, galbūt galėsite ją vykdyti paspausdami spartusis klavišas su CTRL, spustelėję mygtuką sparčiosios prieigos įrankių juostoje, pasirinktinėje juostelės grupėje arba spustelėdami objekto, grafinio elemento ar valdiklio sritį. Be to, makrokomandą galite automatiškai vykdyti atidarę darbaknygę.

Pastaba : Kai programoje „Excel“ nustatote makrokomandos saugos lygį Išjungti visas makrokomandas nepranešus, programa „Excel“ vykdys tik tas makrokomandas, kurios pasirašytos skaitmeniniu būdu arba saugomos patikimoje vietoje, pvz., jūsų kompiuteryje esančiame programos „Excel“ paleisties aplanke. Jei norima vykdyti makrokomanda pasirašyta skaitmeniniu parašu arba saugoma patikima vieta, galite laikinai pakeisti saugos lygį, kad įgalintumėte visas makrokomandas.

Prieš vykdant makrokomandas

Prieš vykdant makrokomandas, pirma reikia pakeisti kelis programos „Excel“ nustatymus:

  1. Jei nematote skirtuko Programų kūrėjas, įjunkite jį. Daugiau informacijos žr. Kūrėjo skirtuko rodymas.

  2. Norėdami nustatyti apsaugos lygį, kad būtų laikinai įgalintos visos makrokomandos, atlikite šiuos veiksmus:

    1. Skirtuko Programų kūrėjas grupėje Kodas spustelėkite Makrokomandų sauga.

      Juostelės skirtukas programų kūrėjas
    2. Kategorijos Makrokomandų parametrai dalyje Makrokomandų parametrai spustelėkite Įgalinti visas makrokomandas (nerekomenduojama; gali būti vykdomas potencialiai pavojingas kodas), tada spustelėkite Gerai.

      Pastaba : Jei norite apsisaugoti nuo potencialiai pavojingo kodo vykdymo, rekomenduojame grįžti prie vieno iš parametrų, kurie, baigus dirbti su makrokomandomis, visas jas išjungia.

  1. Atidarykite darbaknygę, kurioje yra makrokomanda.

  2. Skirtuko Programų kūrėjas grupėje Kodas spustelėkite Makrokomandos.

    Juostelės skirtukas programų kūrėjas
  3. Lauke Makrokomandos pavadinimas spustelėkite norimą vykdyti makrokomandą.

  4. Atlikite vieną iš šių veiksmų:

    • Taip pat galite paspausti CTRL + F8, kad būtų vykdoma makrokomanda. Norėdami sustabdyti makrokomandą, paspauskite ESC.

    • Norėdami vykdyti makrokomandą programos „Microsoft Visual Basic for Applications (VBA)“ modulyje spustelėkite Edit (Redagavimas), tada meniu Run (Vykdymas) spustelėkite Run Sub/UserForm (Vykdyti antrinę / vartotojo formą) arba paspauskite F5.

  1. Skirtuko Programų kūrėjas grupėje Kodas spustelėkite Makrokomandos.

    Juostelės skirtukas programų kūrėjas
  2. Lauke Makrokomandos pavadinimas spustelėkite makrokomandą, kurią norite priskirti klavišo „Ctrl“ derinio sparčiajam klavišui.

  3. Spustelėkite Parinktys.

    Rodomas dialogo langas Makrokomandų parinktys.

  4. Lauke Spartieji klavišai įveskite bet kokią mažąją arba didžiąją raidę, kurią norite naudoti su klavišu „Ctrl“.

    Pastaba : Spartusis klavišas perrašys tokį patį numatytąjį programos „Excel“ spartųjį klavišą, kol bus atidaryta darbaknygė, kurioje yra makrokomanda.

    Jau priskirtų programoje „Excel“ derinių su klavišu Ctrl sparčiųjų klavišų sąrašą žr. straipsnyje Programos „Excel“ spartieji ir funkciniai klavišai.

  5. Lauke Aprašas įveskite makrokomandos aprašą.

  6. Norėdami įrašyti keitimus, spustelėkite Gerai, tada spustelėkite Atšaukti, kad uždarytumėte dialogo langą Makrokomanda.

Norėdami vykdyti makrokomandą sparčiosios prieigos įrankių juostoje, pirma turite į įrankių juostą įtraukti mygtuką. Norėdami tai atlikti žr. Makrokomandos priskyrimas mygtukui.

Pvz., į skirtuką Programų kūrėjas galite įtraukti pasirinktinę grupę, pavadintą Mano makrokomandos, tada į naują grupę įtraukti makrokomandą (kuri rodoma kaip mygtukas). Norėdami tai atlikti žr. Makrokomandos priskyrimas mygtukui.

Makrokomandos vykdymas spustelėjus grafinio objekto sritį

Galite sukurti grafinio elemento, kurį vartotojai gali spustelėti norėdami vykdyti makrokomandą, aktyviąją sritį.

  1. Darbalapyje įterpkite grafinį objektą, pvz., paveikslėlį, iliustraciją, figūrą arba „SmartArt“ objektą.

    Norėdami sužinoti apie grafinio objekto įterpimą, žr. straipsnį Figūrų įtraukimas, keitimas arba naikinimas.

  2. Norėdami sukurti aktyviąją sritį esamame objekte, spustelėkite Įterpimas > Figūros, pasirinkite norimą naudoti figūrą, tada nubraižykite tą figūrą esamame objekte.

    Trimatės figūros
  3. Dešiniuoju pelės mygtuku spustelėkite sukurtą aktyviąją sritį, tada spustelėkite Priskirti makrokomandų.

  4. Atlikite vieną iš šių veiksmų:

    • Norėdami priskirti esamą makrokomandą grafiniam objektui, pelės mygtuku dukart spustelėkite makrokomandą arba įveskite jos pavadinimą lauke Makrokomandos pavadinimas.

    • Norėdami įrašyti naują makrokomandą, kurią priskirsite pažymėtam grafiniam objektui, spustelėkite Įrašas, į dialogo langą Makrokomandos įrašymas įveskite makrokomandos pavadinimą, tada spustelėję Gerai pradėsite makrokomandos įrašymą. Baigę makrokomandos įrašymą, skirtuko lapo Programų kūrėjas grupėje Kodas spustelėkite Baigti įrašymą Mygtuko paveikslėlis .

      Patarimas : Taip pat galite spustelėti mygtuką Baigti įrašymą Mygtuko paveikslėlis , esantį kairėje būsenos juostos pusėje.

    • Norėdami redaguoti esamą makrokomandą, lauke Makrokomandos pavadinimas spustelėkite makrokomandos pavadinimą ir spustelėkite Redaguoti.

  5. Spustelėkite Gerai.

  6. Pažymėkite aktyviąją darbalapio sritį. Bus rodomi Piešimo įrankiai kartu su skirtuku Formatas.

  7. Skirtuko Formatas grupėje Figūrų stiliai spustelėkite rodyklę, esančią šalia Figūros užpildas, tada spustelėkite Be užpildo.

    Figūros užpildo spalvos parinkčių meniu

  8. Spustelėkite rodyklę šalia Figūros kontūras, tada spustelėkite Nėra kontūro.

Jei įrašytą makrokomandą įrašote pavadinimu Auto_Open, makrokomanda bus vykdoma, kai atidarysite darbaknygę, kurioje ji yra. Kitas būdas automatiškai vykdyti makrokomandą atidarius darbaknygę yra darbaknygės įvykyje Atidaryti naudojant „Visual Basic“ rengyklė parašyti VBA procedūrą. Įvykis Atidaryti yra įtaisytasis darbaknygės įvykis, kuris vykdo savo makrokomandos kodą kaskart, kai atidarote darbaknygę.

Makrokomandos Auto_Open kūrimas

  1. Jei norite įrašyti makrokomandą prie konkrečios darbaknygės, pirmiausia atidarykite tą darbaknygę.

  2. Skirtuko Programų kūrėjas grupėje Kodas spustelėkite Įrašyti makrokomandą.

  3. Lauke Makrokomandos pavadinimas įveskite Auto_Open.

  4. Sąraše Makrokomandos išsaugojimo vieta pažymėkite darbaknygę, kurioje norite išsaugoti makrokomandą.

    Patarimas : Jei norite naudotis makrokomanda bet kada, kai naudojatės programa „Excel“, pažymėkite Asmeninė makrokomandų darbaknygė. Kai pažymite Asmeninė makrokomandų darbaknygė, programa „Excel“ sukuria paslėptą asmeninę makrokomandų darbaknygę (Personal.xlsb), jei jos dar nėra, ir įrašo makrokomandą šioje darbaknygėje. Sistemoje „Windows Vista“ ši darbaknygė įrašoma aplanke C:\Users\vartotojo vardas\AppData\Local\Microsoft\Excel\XLStart. Jei ten jos nerandate, ji galėjo būti įrašyta poaplankyje Tarptinklinis ryšys, o ne Vietinis. Sistemoje „Microsoft Windows XP“ ši darbaknygė įrašoma aplanke C:\Documents and Settings\vartotojo vardas\Application Data\Microsoft\Excel\XLStart. Aplanke XLStart esančios darbaknygės automatiškai atidaromos paleidžiant programą „Excel“. Jei norite, kad makrokomanda iš asmeninės makrokomandų darbaknygės būtų automatiškai vykdoma kitoje darbaknygėje, turite įrašyti tą darbaknygę aplanke XLStart, kad abi darbaknygės atsidarytų paleidus programą „Excel“.

  5. Spustelėkite Gerai, tada atlikite veiksmus, kuriuos norite įrašyti.

  6. Skirtuko Programų kūrėjas grupėje Kodas spustelėkite Baigti įrašymą Mygtuko paveikslėlis .

    Patarimas : Taip pat galite spustelėti mygtuką Baigti įrašymą, esantį kairėje būsenos juostos pusėje.

    Mygtukas Baigti įrašymą būsenos juostoje

Pastabos : 

  • Jei 6 veiksme pasirenkate makrokomandą įrašyti Šioje darbaknygėje arba Naujoje darbaknygėje, įrašykite arba perkelkite darbaknygę į vieną iš XLStart aplankų.

  • Makrokomandos Auto_Open įrašymo apribojimai:

    • Jei darbaknygėje, kurioje įrašote makrokomandą Auto_Open, jau yra VBA procedūra jos įvykyje Atidaryti, įvykio Atidaryti VBA procedūra perrašys visus makrokomandos Auto_Open veiksmus.

    • Makrokomandos Auto_Open nepaisoma, kai darbaknygė atidaroma programiškai naudojant metodą Atidaryti.

    • Makrokomanda Auto_Open vykdoma prieš atidarant kitas darbaknyges. Todėl, jei įrašote veiksmus, kuriuos norite, kad programa „Excel“ atliktų numatytoje darbaknygėje Knyga1 arba darbaknygėje, kuri įkeliama iš XLStart aplanko, makrokomanda Auto_Open nebus įvykdyta, kai iš naujo paleisite programą „Excel“, nes makrokomanda vykdoma prieš atidarant numatytąją ir paleisties darbaknyges.

      Jei susiduriate su šiais apribojimais, vietoj makrokomandos Auto_Open įrašymo, turite kurti įvykio Atidaryti VBA procedūrą kaip aprašyta kitoje šio straipsnio dalyje.

  • Jei norite, kad programa „Excel“ būtų paleidžiama be makrokomandos Atidaryti_automatiškai, paleisdami „Excel“ laikykite nuspaudę klavišą SHIFT.

Darbaknygės įvykio Atidaryti VBA procedūros kūrimas

Šiame pavyzdyje įvykis Atidaryti naudojamas makrokomandai vykdyti atidarius darbaknygę.

  1. Įrašykite ir uždarykite visas atidarytas darbaknyges.

  2. Atidarykite darbaknygę, kurioje norite pridėti makrokomandą, arba sukurkite naują darbaknygę.

  3. Skirtuko Programų kūrėjas grupėje Kodas spustelėkite Visual Basic.

  4. Lange Project Explorer dešiniuoju pelės mygtuku spustelėkite objektą Šios_darbaknygės, tada spustelėkite Rodyti kodą.

    Patarimas : Jei „Project Explorer“ langas nematomas, meniu Rodymas spustelėkite Project Explorer.

  5. Sąraše Objektas, esančiame virš lango Kodas, pažymėkite Darbaknygė.

    Taip automatiškai sukuriama tuščia įvykio Atidaryti procedūra, pvz.:

    Private Sub Workbook_Open()

    End Sub

  6. Įtraukite šias kodo eilutes į procedūrą:

    Private Sub Workbook_Open()
    MsgBox Date
    Worksheets("Sheet1").Range("A1").Value = Date
    End Sub

  7. Persijunkite į programą „Excel“ ir įrašykite darbaknygę kaip makrokomandų darbaknygę (.xlsm).

  8. Uždarykite ir iš naujo atidarykite darbaknygę. Kai atidarote failą dar kartą, programa „Excel“ vykdo procedūrą Workbook_Open, kuri pranešimo lauke parodo šios dienos datą.

  9. Pranešimo lauke spustelėkite Gerai.

    Pastaba : Lapas1 langelyje A1 taip pat yra data, atsiradusi įvykdžius procedūrą Workbook_Open.

Reikia daugiau pagalbos?

Visada galite paprašyti specialisto iš „Excel“ technologijų bendruomenės, gauti pagalbos iš Atsakymų bendruomenės arba siūlyti naują funkciją ar patobulinimą „Excel“ vartotojo balse.

Puslapio viršus

Taip pat žr.

Automatiškai vykdyti makrokomandą atidarant darbaknygę

Užduočių automatizavimas naudojant makrokomandų įrašymo priemonę

Įrašyti makrokomandą prie konkrečios darbaknygių atidarymas paleidus „Excel“

Visų makrokomandų kūrimas ir įrašymas vienoje darbaknygėje

Makrokomandos įrašymas

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×