Dešimt patarimų, kaip koduoti Excel VBA makrokomandas

Paprasti pasiūlymai, kaip greičiau ir lengviau koduoti Excel VBA!

Excel 2010

amazon.com





Dešimt sveiko proto pasiūlymų, kad Excel VBA kodavimas būtų greitesnis ir lengvesnis. Šie patarimai yra pagrįsti „Excel 2010“ (tačiau jie veikia beveik visose versijose), o daugelis jų buvo įkvėpti O'Reilly knygos „Excel 2010 – trūkstamas vadovas“, kurią parašė Matthew MacDonald.

1 - Visada išbandykite savo makrokomandas išmetimo bandymo skaičiuoklėje, dažniausiai tokios, su kuria ji sukurta dirbti, kopijoje. Atšaukimas neveikia naudojant makrokomandas, todėl jei užkoduosite makrokomandą, kuri sulanksto, sukasi ir pažeidžia jūsų skaičiuoklę, jums nesiseka, nebent vadovausitės šiuo patarimu.



du - Naudoti sparčiuosius klavišus gali būti pavojinga, nes „Excel“ neįspėja, jei pasirenkate sparčiuosius klavišus, kuriuos „Excel“ jau naudoja. Jei taip nutinka, „Excel“ naudoja makrokomandos spartųjį klavišą, o ne įtaisytąjį spartųjį klavišą. Pagalvokite, kaip nustebs jūsų viršininkas, kai įkels jūsų makrokomandą, o tada Ctrl-C prideda atsitiktinę reikšmę numerį į pusę langelių jo skaičiuoklėje.

Matthew MacDonald pateikia šį pasiūlymą knygoje „Excel 2010 – trūkstamas vadovas“.



Štai keletas bendrų klavišų kombinacijų, kurių niekada neturėtumėte priskirti makrokomandų spartiesiems klavišams, nes žmonės juos naudoja per dažnai:

  • Ctrl + S (išsaugoti)
  • Ctrl + P (spausdinti)
  • Ctrl + O (atidaryti)
  • Ctrl + N (nauja)
  • Ctrl + X (Išeiti)
  • Ctrl + Z (anuliuoti)
  • Ctrl + Y (perdaryti / kartoti)
  • Ctrl + C (kopijuoti)
  • Ctrl + X (Iškirpti)
  • Ctrl + V (įklijuoti)

Kad išvengtumėte problemų, visada naudokite Ctrl+Shift+raidžių makrokomandos klavišų kombinacijas, nes šios kombinacijos yra daug retesnės nei Ctrl+raidžių spartieji klavišai. Ir jei abejojate, nepriskirkite sparčiojo klavišo kurdami naują, nepatikrintą makrokomandą.

3 - Nepamenate Alt-F8 (numatytosios makrokomandos nuorodos)? Ar vardai jums nieko nereiškia? Kadangi „Excel“ padarys makrokomandas bet kurioje atidarytoje darbaknygėje prieinamas visoms kitoms šiuo metu atidarytoms darbaknygėms, paprastas būdas yra sukurti savo makrokomandų biblioteką su visomis makrokomandomis atskiroje darbaknygėje. Atidarykite tą darbaknygę kartu su kitomis skaičiuoklėmis. Matthew sako: „Įsivaizduokite, kad redaguojate darbaknygę, pavadintą SalesReport.xlsx, ir atidarote kitą darbaknygę pavadinimu MyMacroCollection.xlsm, kurioje yra keletas naudingų makrokomandų. MyMacroCollection.xlsm su SalesReport.xlsx esančias makrokomandas galite naudoti be kliūčių. Matthew sako, kad šis dizainas leidžia lengvai bendrinti ir pakartotinai naudoti makrokomandas darbaknygėse (ir tarp skirtingų žmonių).

4 - Ir apsvarstykite galimybę pridėti mygtukų, kurie susietų su makrokomandomis darbalapyje, kuriame yra jūsų makrokomandų biblioteka. Galite išdėstyti mygtukus į bet kokias jums tinkamas funkcines grupes ir pridėti teksto į darbalapį, kad paaiškintumėte, ką jie daro. Niekada nebesistebėsite, ką iš tikrųjų daro paslaptingai pavadinta makrokomanda.



5 - Naujoji „Microsoft“ makrokomandos saugos architektūra buvo gerokai patobulinta, tačiau dar patogiau „Excel“ nurodyti, kad ji pasitikėtų failais, esančiais tam tikruose jūsų kompiuterio (ar kituose kompiuteriuose) aplankuose. Pasirinkite konkretų aplanką standžiajame diske kaip patikimą vietą. Jei atidarysite šioje vietoje saugomą darbaknygę, ji bus automatiškai patikima.

6 - Kai koduojate makrokomandą, nebandykite įtraukti langelių pasirinkimo į makrokomandą. Vietoj to, tarkime, kad langeliai, kuriuos naudos makrokomandos, buvo iš anksto pasirinkti. Lengva vilkti pelės žymeklį virš langelių, kad juos pasirinktumėte. Koduojant makrokomandą, kuri yra pakankamai lanksti, kad būtų galima daryti tą patį, greičiausiai bus daug klaidų ir sunku užprogramuoti. Jei norite ką nors užprogramuoti, pabandykite išsiaiškinti, kaip parašyti patvirtinimo kodą, kad patikrintumėte, ar makrokomandoje buvo pasirinktas tinkamas pasirinkimas.



7 - Galbūt manote, kad „Excel“ paleidžia makrokomandą darbaknygėje, kurioje yra makrokomandos kodas, tačiau tai ne visada tiesa. „Excel“ paleidžia makrokomandą aktyvi darbo knyga . Tai yra darbaknygė, kurią žiūrėjote neseniai. Matthew paaiškina: „Jei atidarėte dvi darbaknyges ir naudojate „Windows“ užduočių juostą, kad perjungtumėte į antrą darbaknygę, o tada grįžtumėte į „Visual Basic“ redaktorių, „Excel“ paleidžia makrokomandą antroje darbaknygėje.

8 - Matthew siūlo: „Kad būtų lengviau koduoti makrokomandas, pabandykite sutvarkyti langus taip, kad vienu metu matytumėte „Excel“ langą ir „Visual Basic“ redaktoriaus langą vienas šalia kito“. Bet „Excel“ to nepadarys (meniu „View“ esantis „Arrange All“ sutvarko tik darbaknyges. „Excel“ „Visual Basic“ laiko kitokiu programos langu). Tačiau „Windows“ tai padarys. „Vista“ uždarykite visus, išskyrus du, kuriuos norite sutvarkyti, ir dešiniuoju pelės mygtuku spustelėkite užduočių juostą; pasirinkite „Rodyti Windows šalia“. „Windows 7“ naudokite „Snap“ funkciją. (Instrukcijų ieškokite internete pagal „Windows 7 features Snap“.)



9 - Svarbiausias Matthew patarimas: „Daugelis programuotojų mano, kad ilgi pasivaikščiojimai paplūdimyje arba „Mountain Dew“ ąsotis yra naudingas būdas išsivalyti galvą.

Ir, žinoma, visų VBA patarimų mama:



10 - Pirmas dalykas, kurį reikia išbandyti, kai nesugalvojate teiginių ar raktinių žodžių, kurių jums reikia programos kode, yra įjungtimakro įrašymo įrenginysir atlikti daugybę operacijų, kurios atrodo panašios. Tada patikrinkite sugeneruotą kodą. Tai ne visada nukreips jus į teisingą dalyką, bet dažnai taip. Mažiausiai tai suteiks jums vietą, kur pradėti ieškoti.

Šaltinis

MacDonaldas, Matthew. „Excel 2010: trūkstamas vadovas“. 1 leidimas, O'Reilly Media, 2010 m. liepos 4 d.