Turinys
Šioje pamokoje sužinosite, kaip išmokti "Excel" makrokomandas. Sužinosite, kaip įrašyti makrokomandą ir įterpti VBA kodą į "Excel", kopijuoti makrokomandas iš vieno sąsiuvinio į kitą, įjungti ir išjungti jas, peržiūrėti kodą, atlikti pakeitimus ir dar daug kitų dalykų.
"Excel" naujokams makrokomandų sąvoka dažnai atrodo neįveikiama. Iš tiesų, norint įvaldyti VBA, gali prireikti kelių mėnesių ar net metų mokymosi. Tačiau tai nereiškia, kad negalite iš karto pasinaudoti "Excel" makrokomandų automatizavimo galimybėmis. Net jei esate visiškas VBA programavimo naujokas, galite lengvai įrašyti makrokomandą, kad automatizuotumėte kai kurias pasikartojančias užduotis.
Šis straipsnis - jūsų įžanga į įdomų "Excel" makrokomandų pasaulį. Jame aptariami svarbiausi pagrindai, kuriuos reikia žinoti norint pradėti dirbti, ir pateikiamos nuorodos į susijusius išsamius vadovėlius.
Kas yra "Excel" makrokomandos?
"Excel" makrokomanda - tai komandų arba nurodymų rinkinys, saugomas darbaknygėje VBA kodo pavidalu. Ją galima įsivaizduoti kaip nedidelę programą, skirtą iš anksto nustatytai veiksmų sekai atlikti. Kartą sukurtą makrokomandą galima bet kada naudoti pakartotinai. Paleidus makrokomandą, vykdomos joje esančios komandos.
Paprastai makrokomandos naudojamos pasikartojančioms užduotims ir kasdienei rutinai automatizuoti. Įgudę VBA kūrėjai gali rašyti tikrai sudėtingas makrokomandas, kurios leidžia ne tik sumažinti klavišų paspaudimų skaičių.
Dažnai galite išgirsti žmones, kurie makrokomandą vadina VBA. Techniškai yra skirtumas: makrokomanda yra kodo dalis, o "Visual Basic for Applications" (VBA) yra "Microsoft" sukurta programavimo kalba, skirta makrokomandoms rašyti.
Kodėl verta naudoti "Excel" makrokomandas?
Pagrindinė makrokomandų paskirtis - atlikti daugiau darbų per trumpesnį laiką. Kaip ir naudodami formules skaičiams skaičiuoti ar teksto eilutėms tvarkyti, taip ir makrokomandas galite naudoti dažnoms užduotims automatiškai atlikti.
Tarkime, turite sukurti savaitinę ataskaitą savo vadovui. Tam importuojate įvairius analitinius duomenis iš poros ar daugiau išorinių šaltinių. Problema ta, kad tie duomenys yra netvarkingi, nereikalingi arba ne tokio formato, kurį supranta "Excel". Tai reiškia, kad turite performatuoti datas ir skaičius, apkarpyti papildomus tarpus ir ištrinti tuščias vietas, nukopijuoti ir įklijuoti informaciją į atitinkamus stulpelius,kurkite diagramas tendencijoms vizualizuoti ir atlikite daugybę kitų įvairių veiksmų, kad ataskaita būtų aiški ir patogi naudoti. Dabar įsivaizduokite, kad visas šias operacijas galite atlikti akimirksniu vienu pelės spustelėjimu!
Žinoma, sudėtingam makrokomandai sukurti reikia laiko. Kartais tai gali užtrukti net ilgiau, nei tas pačias manipuliacijas atlikti rankiniu būdu. Tačiau makrokomandos sukūrimas yra vienkartinis veiksmas. Parašytas, suderintas ir išbandytas VBA kodas darbą atliks greitai ir nepriekaištingai, todėl sumažės žmogiškųjų klaidų ir brangiai kainuojančių klaidų.
Kaip sukurti makrokomandą programoje "Excel
Makrogramas "Excel" galima kurti dviem būdais - naudojant makrokomandų įrašymo programą ir "Visual Basic" redaktorių.
Patarimas. "Excel" programoje dauguma operacijų su makrokomandomis atliekamos per Kūrėjas skirtuką, todėl į "Excel" juostą būtinai įtraukite skirtuką Kūrėjas.
Makro įrašymas
Net jei apskritai nieko neišmanote apie programavimą ir ypač apie VBA, galite lengvai automatizuoti kai kuriuos savo darbus tiesiog leisdami "Excel" įrašyti savo veiksmus kaip makrokomandą. Kol atliekate veiksmus, "Excel" atidžiai stebi ir užrašo jūsų pelės paspaudimus ir klavišų paspaudimus VBA kalba.
Makro įrašymo programa fiksuoja beveik viską, ką darote, ir sukuria labai išsamų (dažnai perteklinį) kodą. Sustabdę įrašymą ir išsaugoję makrokomandą, galite peržiūrėti jos kodą "Visual Basic" redaktoriuje ir atlikti nedidelius pakeitimus. Paleidus makrokomandą, "Excel" grįžta prie įrašyto VBA kodo ir atlieka tuos pačius veiksmus.
Norėdami pradėti įrašymą, spustelėkite Įrašyti makrokomandą mygtuką ant Kūrėjas skirtuką arba Statusas baras.
Išsamesnės informacijos rasite skyriuje Kaip įrašyti makrokomandą programoje "Excel".
Makro įrašymas "Visual Basic" redaktoriuje
"Visual Basic for Applications" (VBA) redaktorius yra vieta, kurioje "Microsoft Excel" saugo visų įrašytų ir rankiniu būdu parašytų makrokomandų kodą.
VBA redaktoriuje galite ne tik suprogramuoti veiksmų seką, bet ir kurti pasirinktines funkcijas, rodyti savo dialogo langus, vertinti įvairias sąlygas ir, svarbiausia, koduoti logiką! Žinoma, norint sukurti savo makrokomandą, reikia išmanyti VBA kalbos struktūrą ir sintaksę, o tai yra už šio vadovėlio pradedantiesiems ribų.neleidžia pakartotinai naudoti kito asmens kodo (tarkime, to, kurį radote mūsų tinklaraštyje :) ir net visiškam "Excel VBA" naujokui neturėtų kilti jokių sunkumų!
Pirmiausia paspauskite Alt + F11, kad atidarytumėte "Visual Basic" redaktorių. Tada įterpkite kodą šiais dviem greitais veiksmais:
- Kairėje pusėje esančiame "Project Explorer" dešiniuoju pelės klavišu spustelėkite tikslinį sąsiuvinį, tada spustelėkite Įdėkite > Modulis .
- Dešinėje pusėje esančiame lange Code įklijuokite VBA kodą.
Kai baigsite, paspauskite F5, kad paleistumėte makrokomandą.
Išsamios instrukcijos pateikiamos skyriuje Kaip įterpti VBA kodą į "Excel".
Kaip paleisti makrokomandas programoje "Excel
Yra keletas būdų, kaip "Excel" programoje paleisti makrokomandą:
- Norėdami paleisti makrokomandą iš darbalapio, spustelėkite Makrokomandos mygtukas ant Kūrėjas skirtuką arba paspauskite sparčiąją klaviatūros kombinaciją Alt + F8.
- Norėdami paleisti makrokomandą iš VBA redaktoriaus, paspauskite:
- F5, kad paleistumėte visą kodą.
- F8, jei norite peržiūrėti kodą eilutę po eilutės. Tai labai naudinga bandymams ir trikčių šalinimui.
Be to, makrokomandą galite paleisti spustelėję pasirinktinį mygtuką arba paspaudę priskirtą spartųjį klavišą. Išsamios informacijos rasite skyriuje Kaip paleisti makrokomandas "Excel" programoje.
Kaip įjungti makrokomandas programoje "Excel
Saugumo sumetimais visos "Excel" makrokomandos pagal nutylėjimą yra išjungtos. Taigi, norėdami pasinaudoti magiškais VBA kodais, turite žinoti, kaip juos įjungti.
Lengviausias būdas įjungti makrokomandas konkrečiame sąsiuvinyje yra spustelėti Įgalinti turinį mygtuką geltonoje įspėjamojoje saugumo juostoje, kuri pasirodo lapo viršuje, kai pirmą kartą atidarote darbaknygę su makrokomandomis.
Daugiau informacijos apie makrokomandų saugumą rasite skyriuje Kaip įjungti ir išjungti makrokomandas programoje "Excel".
Kaip pakeisti makrokomandų nustatymus
"Microsoft Excel" nustato, ar leisti, ar neleisti darbaknygėse vykdyti VBA kodus, remdamasi makrokomandos nustatymu, pasirinktu "Trust Center .
Toliau pateikiami veiksmai, kaip pasiekti "Excel" makrokomandos nustatymus ir, jei reikia, juos pakeisti:
- Eikite į Failas skirtuką ir pasirinkite Parinktys .
- Kairėje pusėje esančiame lange pasirinkite "Trust Center , tada spustelėkite Patikimumo centro nustatymai... .
- Į "Trust Center dialogo langą, spustelėkite Makro nustatymai kairėje pusėje, pasirinkite norimą parinktį ir spustelėkite GERAI .
Toliau pateiktoje ekrano kopijoje pasirinktas numatytasis makrokomandos nustatymas:
Daugiau informacijos rasite skyriuje "Excel" makrokomandų nustatymų paaiškinimai.
Kaip peržiūrėti, redaguoti ir derinti VBA kodus programoje "Excel
Visi makrokomandos kodo pakeitimai, nesvarbu, ar jį automatiškai sugeneravo "Excel" makrokomandų įrašymo programa, ar parašėte jūs, atliekami "Visual Basic" redaktoriuje.
Norėdami atidaryti VB redaktorių, paspauskite Alt + F11 arba spustelėkite "Visual Basic mygtukas ant Kūrėjas skirtukas.
Į peržiūrėti ir redaguoti konkretaus makrokomandos kodą, esantį Projekto tyrėjas kairėje pusėje, dukart spustelėkite modulį, kuriame jis yra, arba dešiniuoju pelės klavišu spustelėkite modulį ir pasirinkite Peržiūrėti kodą . atveriamas langas Kodas, kuriame galite redaguoti kodą.
Į testavimas ir derinimas makrokomandą, paspauskite klavišą F8. Tai leis jums peržiūrėti makrokomandos kodą eilutė po eilutės ir pamatyti kiekvienos eilutės poveikį darbalapiui. Šiuo metu vykdoma eilutė paryškinama geltonai. Norėdami išeiti iš derinimo režimo, paspauskite klavišą Iš naujo nustatyti įrankių juostoje esantis mygtukas (mėlynas kvadratas).
Kaip nukopijuoti makrokomandą į kitą sąsiuvinį
Sukūrėte makrokomandą viename sąsiuvinyje, o dabar norite ją pakartotinai naudoti ir kituose failuose? "Excel" yra du būdai kopijuoti makrokomandą:
Nukopijuokite modulį, kuriame yra makrokomandos
Jei tikslinis makrokomandas yra atskirame modulyje arba jei visi modulio makrokomandos yra naudingos jums, tuomet tikslinga nukopijuoti visą modulį iš vieno sąsiuvinio į kitą:
- Atidarykite abu sąsiuvinius - tą, kuriame yra makrokomanda, ir tą, į kurį norite ją nukopijuoti.
- Atidarykite Visual Basic redaktorių.
- "Project Explorer" lange raskite modulį, kuriame yra makrokomandos, ir vilkite jį į paskirties sąsiuvinį.
Toliau pateiktoje ekrano kopijoje kopijuojame Modulis1 iš 1 knyga į 2 knyga :
Makro kodo kopijavimas
Jei modulyje yra daug skirtingų makrokomandų, o jums reikia tik vienos, nukopijuokite tik konkrečios makrokomandos kodą:
- Atidarykite abu sąsiuvinius.
- Atidarykite Visual Basic redaktorių.
- Projekto naršyklės lange dukart spustelėkite modulį, kuriame yra norimas kopijuoti makrokomandas, kad atsidarytų jo kodo langas.
- Kodo lange raskite tikslinį makrokomandą, pasirinkite jos kodą (prasidedantį raide Sub ir baigiant Pabaiga Sub ) ir paspauskite Ctrl + C, kad jį nukopijuotumėte.
- Projekto žvalgytuve suraskite paskirties sąsiuvinį ir į jį įterpkite naują modulį (dešiniuoju pelės klavišu spustelėkite sąsiuvinį ir spustelėkite Įdėkite > Modulis ) arba dukart spustelėkite esamą modulį, kad atidarytumėte jo kodo langą.
- Paskirties modulio lange "Code" (kodas) paspauskite Ctrl + V, kad įklijuotumėte kodą. Jei modulyje jau yra kodas, slinkite žemyn iki paskutinės kodo eilutės, tada įklijuokite nukopijuotą makrokomandą.
Kaip ištrinti "Excel" makrokomandas
Jei jums nebereikia tam tikro VBA kodo, galite jį ištrinti naudodami Makro dialogo langą arba Visual Basic redaktorių.
Makro ištrynimas iš darbaknygės
Norėdami ištrinti makrokomandą tiesiogiai iš "Excel" darbaknygės, atlikite šiuos veiksmus:
- Dėl Kūrėjas skirtuke Kodas grupę, spustelėkite Makrokomandos mygtuką arba paspauskite trumpąjį klavišą Alt + F8.
- Į Makro dialogo langą, pasirinkite norimą pašalinti makrokomandą ir spustelėkite Ištrinti .
Patarimai:
- Jei norite peržiūrėti visas makrokomandas visuose atidarytuose failuose, pasirinkite Visi atverti sąsiuviniai iš Makrokomandos išplečiamajame sąraše.
- Kad galėtumėte ištrinti makrokomandą iš asmeninio makrokomandų sąsiuvinio, pirmiausia turite panaikinti "Personal.xlsb" paslėpimą.
Makro pašalinimas per "Visual Basic" redaktorių
VBA redaktoriaus naudojimo privalumas yra tas, kad juo galima ištrinti visą modulį su visomis jame esančiomis makrokomandomis vienu kartu. Be to, VBA redaktoriumi galima ištrinti asmeniniame makrokomandų sąsiuvinyje esančias makrokomandas, jų neišskleidžiant.
Nuolat ištrinti modulį , atlikite šiuos veiksmus:
- Į Projekto tyrėjas , dešiniuoju pelės klavišu spustelėkite modulį ir pasirinkite Pašalinti iš kontekstinio meniu.
- Kai prieš pašalindami modulį paklausite, ar norite jį eksportuoti, spustelėkite Ne .
Į pašalinti konkretų makrokomandą , tiesiog ištrinkite jo pradinį kodą tiesiogiai lange Kodas. Arba galite ištrinti makrokomandą naudodami Įrankiai VBA redaktoriaus meniu:
- Iš Įrankiai meniu pasirinkite Makrokomandos . Makrokomandos bus rodomas dialogo langas.
- Į Makrokomandos Svetainėje išplečiamajame sąraše pasirinkite projektą, kuriame yra nepageidaujamas makrokomandas.
- Į Makro pavadinimas langelyje pasirinkite makrokomandą.
- Spustelėkite Ištrinti mygtuką.
Kaip išsaugoti makrokomandas programoje "Excel
Norėdami išsaugoti "Excel" programoje įrašytą arba rankiniu būdu parašytą makrokomandą, tiesiog išsaugokite sąsiuvinį kaip įgalintą makrokomandą (*.xlms). Štai kaip:
- Makrogramą turinčiame faile spustelėkite Išsaugoti arba paspauskite Ctrl + S .
- Svetainė Išsaugoti kaip Bus rodomas dialogo langas. "Excel" darbaknygė su makrokomandomis (*.xlsm) iš Išsaugoti kaip tipą išskleidžiamąjį sąrašą ir spustelėkite Išsaugoti :
Kaip eksportuoti ir importuoti makrokomandas programoje "Excel
Jei norite pasidalyti VBA kodais su kitu asmeniu arba perkelti juos į kitą kompiuterį, greičiausias būdas - eksportuoti visą modulį kaip .bas failą.
Makrokomandų eksportavimas
Norint eksportuoti VBA kodus, reikia atlikti šiuos veiksmus:
- Atidarykite sąsiuvinį, kuriame yra makrokomandos.
- Paspauskite Alt + F11, kad atidarytumėte Visual Basic redaktorių.
- Projekto naršyklėje dešiniuoju pelės klavišu spustelėkite modulį, kuriame yra makrokomandų, ir pasirinkite Eksporto failas .
- Pereikite į aplanką, į kurį norite įrašyti eksportuotą failą, suteikite jam pavadinimą ir spustelėkite Išsaugoti .
Makrokomandų importavimas
Norėdami importuoti .bas failą su VBA kodais į "Excel", atlikite šiuos veiksmus:
- Atidarykite sąsiuvinį, į kurį norite importuoti makrokomandas.
- Atidarykite Visual Basic redaktorių.
- Projekto žvalgytuve dešiniuoju pelės klavišu spustelėkite projekto pavadinimą ir pasirinkite Importo failas .
- Pereikite prie .bas failo ir spustelėkite Atviras .
"Excel" makro pavyzdžiai
Vienas iš geriausių būdų išmokti "Excel VBA" yra nagrinėti kodo pavyzdžius. Toliau rasite labai paprastų VBA kodų, automatizuojančių kai kurias pagrindines operacijas, pavyzdžių. Žinoma, šie pavyzdžiai neišmokys jūsų koduoti, tam yra šimtai profesionalaus lygio VBA vadovėlių. Mes tik siekiame iliustruoti keletą bendrų VBA funkcijų, kurios, tikimės, padės šiek tiek geriau susipažinti su jo filosofija.jums.
Visų darbaknygės lapų paslėpimo panaikinimas
Šiame pavyzdyje naudojame ActiveWorkbook objektą, kad būtų grąžinta šiuo metu aktyvi darbo knyga ir Kiekvienam ciklą, kad vienas po kito pereitume per visus sąsiuvinio lapus. Kiekvienam surastam lapui nustatome Matomas nuosavybę į xlSheetVisible .
Sub Unhide_All_Sheets() Dim wks As Worksheet For Each wks In ActiveWorkbook.Worksheets wks.Visible = xlSheetVisible Next wks End SubPaslėpti aktyvų darbalapį arba padaryti jį labai paslėptą
Norėdami tvarkyti šiuo metu aktyvųjį lapą, naudokite ActiveSheet objektas. Šis makro pavyzdys keičia Matomas aktyvaus lapo savybė į xlSheetHidden norėdami jį paslėpti. Norėdami, kad lapas būtų labai paslėptas, nustatykite Matomas nuosavybė į xlSheetVeryHidden .
Sub Hide_Active_Sheet() ActiveSheet.Visible = xlSheetHidden End SubAtšaukti visas sujungtas pasirinkto diapazono ląsteles
Jei norite atlikti tam tikras operacijas su diapazonu, o ne su visu darbalapiu, naudokite Atranka Pavyzdžiui, toliau pateikiamas kodas vienu šūviu panaikins visas sujungtas pasirinkto intervalo ląsteles.
Sub Unmerge_Cells() Selection.Cells.UnMerge Pabaiga SubRodyti pranešimo langą
Jei norite naudotojams parodyti tam tikrą pranešimą, naudokite MsgBox Čia pateikiamas paprasčiausias tokio makrokomandos pavyzdys:
Sub Show_Message() MsgBox ("Hello World!" ) End SubRealiose makrokomandose pranešimų langas paprastai naudojamas informacijos arba patvirtinimo tikslais. Pavyzdžiui, prieš atliekant veiksmą (mūsų atveju - langelių atjungimą), rodomas Taip/Ne Jei naudotojas paspaudžia "Taip", pasirinktos ląstelės panaikinamos.
Sub Unmerge_Selected_Cells() Dim Answer As String Answer = MsgBox( "Ar tikrai norite nesujungti šių ląstelių?" , vbQuestion + vbYesNo, "Unmerge Cells" ) If Answer = vbYes Then Selection.Cells.UnMerge End If End Sub End SubJei norite išbandyti kodą, pasirinkite vieną ar daugiau intervalų, kuriuose yra sujungtų langelių, ir paleiskite makrokomandą. Bus rodomas toks pranešimas:
Toliau pateikiamos nuorodos į sudėtingesnes makrokomandas, kuriomis automatizuojamos sudėtingos ir daug laiko reikalaujančios užduotys:
- Makrokomanda, skirta kopijuoti lapus iš kelių sąsiuvinių į vieną
- Makrokomandos "Excel" lapams dubliuoti
- Makrokomandos skirtukams pagal abėcėlę "Excel" programoje išdėstyti
- Makroaplinka, skirta lapo apsaugai be slaptažodžio panaikinti
- Makrokomanda, skirta sąlygiškai nuspalvintoms ląstelėms skaičiuoti ir sumuoti
- Makrokomanda, skirta konvertuoti skaičius į žodžius
- Makrokomanda, skirta visiems darbalapiams, išskyrus aktyvųjį lapą, paslėpti
- Makrokomandos, skirtos panaikinti lapų slėpimą
- Makrokomanda, skirta visiems stulpeliams paslėpti
- Makrokomandos, kad lapai būtų labai paslėpti
- Makrokomanda, skirta pašalinti visus eilučių pertrūkius aktyviame lape
- Makrokomandos tuščioms eilutėms ištrinti
- Makrokomanda, skirta ištrinti kas antrą eilutę
- Makrokomanda tuštiems stulpeliams pašalinti
- Makrokomanda, skirta įterpti kas antrą stulpelį
- Makrokomandos rašybos tikrinimui "Excel" programoje
- Stulpelių perkėlimo į eilutes makrokomanda
- Makrokomanda, skirta "Excel" stulpeliams apversti
- Makrokomandos spausdinimo sričiai nustatyti
- Makrokomandos puslapių pertraukoms įterpti
Kaip apsaugoti "Excel" makrokomandas
Jei norite, kad kiti asmenys negalėtų peržiūrėti, keisti ar vykdyti jūsų makrokomandos, galite ją apsaugoti slaptažodžiu.
Užrakinti makrokomandą peržiūrai
Norėdami apsaugoti VBA kodus nuo neleistino peržiūrėjimo ir redagavimo, atlikite šiuos veiksmus:
- Atidarykite VBA redaktorių.
- Projektų žvalgytuve dešiniuoju pelės klavišu spustelėkite projektą, kurį norite užrakinti, ir pasirinkite VBAProjekto savybės...
- Į Projekto savybės dialogo lange Apsauga skirtuką, patikrinkite Užrakinti projektą peržiūrai langelį, du kartus įveskite slaptažodį ir spustelėkite GERAI .
- Išsaugokite, uždarykite ir vėl atidarykite "Excel" failą.
Bandant peržiūrėti kodą "Visual Basic" redaktoriuje, pasirodys šis dialogo langas. Įveskite slaptažodį ir spustelėkite OK.
Į atrakinti makrokomandas , tiesiog atidarykite Projekto savybės dialogo langą ir pašalinkite varnelę iš Užrakinti projektą peržiūrai dėžutė.
Pastaba. Šis metodas apsaugo kodą nuo peržiūros ir redagavimo, bet neužkerta kelio jo vykdymui.
Slaptažodžiu apsaugokite makrokomandą nuo paleidimo
Norėdami apsaugoti savo makrokomandą nuo vykdymo, kad ją galėtų paleisti tik slaptažodį žinantys naudotojai, pridėkite šį kodą, pakeisdami žodį "password" savo tikruoju slaptažodžiu:
Sub Password_Protect() Dim password As Variant password = Application.InputBox ("Please enter Password" , "Password Protected Macro" ) Select Case password Case Is = False 'nieko nedaryti Case Is = "password" 'jūsų kodas čia Case Else MsgBox "Incorrect Password" End Select End SubMakro naudoja InputBox funkcija, kad naudotojas būtų paprašytas įvesti slaptažodį:
Jei naudotojo įvestas slaptažodis sutampa su užkoduotu slaptažodžiu, jūsų kodas įvykdomas. Jei slaptažodis nesutampa, rodomas pranešimo langas "Incorrect Password" (neteisingas slaptažodis). Kad naudotojas negalėtų peržiūrėti slaptažodžio "Visual Basic" redaktoriuje, nepamirškite užrakinti makrokomandos peržiūros, kaip paaiškinta pirmiau.
Pastaba. Atsižvelgiant į tai, kad internete galima rasti įvairių slaptažodžių nulaužimo programų, svarbu suvokti, kad ši apsauga nėra absoliuti. Ją galima laikyti veikiau apsauga nuo atsitiktinio naudojimo.
"Excel" makrokomandos patarimai
"Excel" VBA profesionalai yra sukūrę daugybę išradingų gudrybių, kad jų makrokomandos būtų efektyvesnės. Toliau pasidalysiu keliais savo mėgstamiausiais.
Jei jūsų VBA kodas aktyviai manipuliuoja ląstelių turiniu, galite pagreitinti jo vykdymą išjungę ekrano atnaujinimą ir formulių perskaičiavimą. Įvykdę savo kodą, vėl jį įjunkite.
Į kodo pradžią (po eilučių, prasidedančių žodžiais Dim arba po Sub linija):
Application.ScreenUpdating = False Application.Calculation = xlCalculationManualKodo pabaigoje (prieš Pabaiga Sub ):
Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomaticKaip suskaidyti VBA kodą į kelias eilutes
Rašydami kodą VBA redaktoriuje, kartais galite sukurti labai ilgus teiginius, todėl, norėdami pamatyti eilutės pabaigą, turite slinkti horizontaliai. Tai neturi įtakos kodo vykdymui, tačiau apsunkina kodo tikrinimą.
Norėdami ilgą teiginį padalyti į kelias eilutes, įveskite erdvė po kurio seka pabraukimas (_) toje vietoje, kurioje norite nutraukti eilutę. VBA tai vadinama eilutės nutraukimo simbolis .
Norėdami teisingai tęsti kodą kitoje eilutėje, laikykitės šių taisyklių:
- Nedalykite kodo viduryje argumentų pavadinimų.
- Komentarams nutraukti nenaudokite pabraukimo simbolio. Jei komentarai yra kelių eilučių, kiekvienos eilutės pradžioje įrašykite apostrofą (').
- Pabraukimo ženklas turi būti paskutinis eilutės simbolis, po kurio neturi sekti joks kitas simbolis.
Toliau pateiktame kodo pavyzdyje parodyta, kaip išskaidyti teiginį į dvi eilutes:
Atsakymas = MsgBox("Ar tikrai norite nesujungti šių ląstelių?" , _ vbQuestion + vbYesNo, "Unmerge Cells" )Kaip padaryti, kad makrokomandą būtų galima pasiekti iš bet kurio sąsiuvinio
Kai "Excel" programoje parašote arba įrašote makrokomandą, paprastai ją galima pasiekti tik iš konkretaus sąsiuvinio. Jei norite tą patį kodą pakartotinai naudoti kituose sąsiuviniuose, įrašykite jį į asmeninį makrokomandos sąsiuvinį. Taip makrokomandą galėsite naudoti visada, kai tik atidarysite "Excel" programą.
Vienintelė kliūtis yra ta, kad asmeninis makrokomandų sąsiuvinis "Excel" programoje pagal nutylėjimą neegzistuoja. Norėdami jį sukurti, turėsite įrašyti bent vieną makrokomandą. Toliau pateiktame vadovėlyje pateikiama visa išsami informacija: Asmeninis makrokomandų sąsiuvinis "Excel" programoje
Kaip atšaukti makro veiksmo veiksmą
Įvykdžius makrokomandą, jos veiksmo negalima atšaukti nei paspaudus Ctrl + Z, nei spustelėjus Atšaukti mygtuką.
Patyrę VBA programuotojai, žinoma, gali patvirtinti įvesties reikšmes ir (arba) pradžios sąlygas prieš leisdami makrokomandai atlikti bet kokius pakeitimus darbalapyje, tačiau daugeliu atvejų tai gana sudėtinga.
Paprastesnis būdas - išsaugoti aktyvųjį sąsiuvinį iš makrokomandos kodo. Šiuo tikslu tiesiog pridėkite toliau pateiktą eilutę prieš leisdami makrokomandai atlikti bet kokius kitus veiksmus:
ActiveWorkbook.SavePasirinktinai taip pat galite rodyti pranešimo langą, informuojantį naudotoją, kad dabartinis sąsiuvinis buvo išsaugotas prieš pat vykdant pagrindinį makrokomandos kodą.
Tokiu būdu, jei rezultatai jūsų (arba jūsų naudotojų) netenkina, galite tiesiog uždaryti ir vėl atidaryti sąsiuvinį.
Neleisti "Excel" rodyti saugumo įspėjimo, kai darbaknygėje nėra makrokomandų
Ar kada nors teko susidurti su situacija, kai "Excel" nuolat klausia, ar norite įjungti makrokomandas, nors tikrai žinote, kad šioje konkrečioje darbo knygoje makrokomandų nėra?
Labiausiai tikėtina priežastis yra ta, kad buvo pridėtas ir pašalintas VBA kodas, todėl liko tuščias modulis, kuris ir sukelia saugumo perspėjimą. Norėdami jo atsikratyti, tiesiog ištrinkite modulį, išsaugokite darbaknygę, uždarykite ir vėl ją atidarykite. Jei tai nepadeda, atlikite toliau nurodytus veiksmus:
- Tinklalapiui Ši darbo knyga ir kiekviename atskirame lape atidarykite "Code" langą, paspauskite Ctrl + A, kad pažymėtumėte visą kodą ir jį ištrintumėte (net jei "Code" langas atrodo tuščias).
- Ištrinkite visas darbaknygėje esančias naudotojo formas ir klasės modulius.
Štai kaip sukurti ir naudoti VBA makrokomandas "Excel" programoje. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę vėl susitiksime mūsų tinklaraštyje!