Makro įrašymo įrenginio naudojimas „Microsoft Excel“

Atidarykite „Excel“ ir „VBE“ („Visual Basic“ redaktorius). Jei jis nebuvo pakeistas, VBE lange yra Projektų tyrinėtojas langas ir Savybės langas (juos galima pasiekti iš Peržiūrėti Meniu).

Projektų tyrinėtojas: Veikia kaip failų tvarkyklė. Padeda naršyti po kodą darbaknygėje.

Ypatybių langas: Rodo šiuo metu aktyvaus objekto savybes (pvz. 1 lapas) dabartinės darbo knygos (pvz.1 knyga).

Šiame straipsnyje mes sužinosime, kaip lengva įrašyti makrokomandą „Excel“.

1 pratimas: makrokomandos įrašymas.

Šis pratimas parodo, kas atsitinka, kai įrašoma makrokomanda, ir parodo skirtumą tarp absoliutų ir santykinių nuorodų įrašymo.

1. Tuščiame darbalapyje naujoje darbaknygėje pasirinkite langelį C10

2. Pradėkite Makro įrašymo įrenginys su galimybe išsaugoti makrokomandą Ši darbo knyga. Šiuo metu VBE sukuria naują Moduliai aplanką. Eiti ir žiūrėti yra visiškai saugu - jūsų veiksmai nebus įrašyti. Spustelėkite [+] šalia aplanko ir pamatysite, kad VBE aplanke įdėjo modulį ir pavadino jį 1 modulis. Dukart spustelėkite modulio piktogramą, kad atidarytumėte jo kodo langą. Grįžkite į „Excel“.

3. Įsitikinkite, kad Santykinė nuoroda mygtuką ant Sustabdyti įrašymą įrankių juosta NESPAUSTA.

4. Pasirinkite langelį B5 ir sustabdykite registratorių.

5. Perjunkite į VBE ir peržiūrėkite kodą:

Diapazonas („B5“). Pasirinkite

6. Dabar įrašykite kitą makrokomandą, lygiai taip pat, bet šį kartą su Santykinė nuoroda mygtukas paspaustas.

7. Perjunkite į VBE ir peržiūrėkite kodą:

„ActiveCell.Offset“ (-5, -1). Diapazonas („A1“). Pasirinkite

8. Dabar įrašykite kitą makrokomandą, bet užuot pasirinkę langelį B5, pasirinkite 3x3 langelių bloką, pradedant nuo B5 (pasirinkite langelius B5: F7)

9. Perjunkite į VBE ir peržiūrėkite kodą:

„ActiveCell.Offset“ (-5, -1). Diapazonas („A1: B3“). Pasirinkite

10. Paleiskite makrokomandas, pirmiausia pasirinkę kitą langelį nei C10 („Macro2“ ir „Macro3“ pradinis langelis turi būti 6 arba žemiau eilutėje - žr. 11 veiksmą)

Makro 1 - visada perkelia pasirinkimą į B5
Makro2 - perkelia pasirinkimą į langelį 5 eilutėmis aukštyn ir 1 stulpelį į kairę nuo pasirinkto langelio.
Makro3 - visada pasirenka šešių langelių bloką, pradedant nuo 5 eilučių aukštyn ir 1 stulpelio kairėje nuo pasirinkto langelio.

11. Vykdykite „Macro2“, bet priverskite padaryti klaidą pasirinkdami langelį 5 ar aukštesnėje eilutėje. Makrokomanda bando pasirinkti neegzistuojantį langelį, nes jo kodas liepia pasirinkti langelį 5 eilutės virš pradinio taško, ir tai yra ne lapo viršuje. Paspauskite Derinimas turi būti perkelta į tą makrokomandos dalį, kuri sukėlė problemą.

PASTABA: Kai VBE veikia derinimo režimu, problemą sukėlusi kodo eilutė paryškinta geltonai. Prieš tęsdami, turite iš naujo nustatyti makrokomandą. Spustelėkite Iš naujo nustatyti mygtuką VBE įrankių juostoje arba eikite į Vykdyti> Atstatyti. Geltonas paryškinimas dingsta, o VBE išeina iš derinimo režimo.

12. Svarbu pabandyti numatyti tokią vartotojo klaidą. Paprasčiausias būdas yra modifikuoti kodą, kad būtų paprasčiausiai ignoruojamos klaidos ir pereita prie kitos užduoties. Padarykite tai pridėdami eilutę …

Dėl klaidos Tęsti toliau

… Iškart virš pirmosios makrokomandos eilutės (po eilute Sub Macro1 ()

13. Bėk Makro2 kaip ir anksčiau, pradedant nuo lapo per aukštai. Šį kartą įvesta eilutė liepia „Excel“ ignoruoti kodo eilutę, kurios ji negali vykdyti. Klaidos pranešimo nėra, o makrokomanda išeina padaręs viską, ką gali. Šį klaidų tvarkymo metodą naudokite atsargiai. Tai labai paprasta makrokomanda. Sudėtingesnė makrokomanda veiktų ne taip, kaip tikėtasi, jei klaidos būtų paprasčiausiai ignoruojamos. Be to, vartotojas neįsivaizduoja, kad kažkas nutiko.

14. Pakeiskite kodą Makro2 įtraukti sudėtingesnį klaidų tvarkyklę:

Antroji makrokomanda ()

Dėl klaidos „GoTo ErrorHandler“

„ActiveCell.Offset“ (-5, -1). Diapazonas („A1“). Pasirinkite

Išeiti iš Sub

ErrorHandler:

„MsgBox“ „Turite pradėti žemiau 5 eilutės“

Pabaiga Sub

15. Šį kartą vartotojui pateikiamas dialogo langas, kai kažkas negerai. Jei klaidos nėra, eilutė Exit Sub priverčia makrokomandą baigti atlikus savo darbą - priešingu atveju vartotojas matys pranešimą, net jei nebūtų klaidos.

Įrašytų makrokomandų tobulinimas

Geras būdas išmokti VBA pagrindų yra įrašyti makrokomandą ir pamatyti, kaip „Excel“ rašo savo kodą. Tačiau dažnai įrašytose makrokomandose yra daug daugiau kodo, nei reikia. Šie pratimai parodo, kaip galite patobulinti ir supaprastinti kodą, kurį sukūrė įrašyta makrokomanda.

2 pratimas: įrašytų makrokomandų tobulinimas

Šis pratimas rodo, kad įrašant makrokomandas dažnai sugeneruojama daugiau kodo, nei būtina. Tai parodo, kaip teiginys „With“ naudojamas kodui nustatyti.

1. Pasirinkite bet kurią langelį arba langelį.

2. Paleiskite makro įrašymo įrenginį ir iškvieskite makrokomandą FormatCells. Santykinių nuorodų nustatymas nebus aktualus.

3. Eikite į Formatas> Langeliai> Šriftas ir pasirinkti Times New Roman ir Raudona.
Eiti į Šablonai ir pasirinkti Geltona.
Eiti į Derinimas ir pasirinkti Horizontalus, centras
Eiti į Skaičius ir pasirinkti Valiuta.

4. Spustelėkite Gerai ir sustabdykite registratorių.

5. Spustelėkite Anuliuoti mygtuką (arba Ctrl+Z), kad anuliuotumėte darbalapio pakeitimus.

6. Pasirinkite langelių bloką ir paleiskite FormatCells makro. Atminkite, kad to negalima anuliuoti! Įveskite langelius, kad patikrintumėte formatavimo rezultatą.

7. Pažvelkite į kodą:

SubformatasSelection ()

Selection.NumberFormat = "$#, ## 0.00"

Su atranka

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = Netiesa

.Orientacija = 0

.ShrinkToFit = Netiesa

.MergeCells = Netiesa

Pabaiga su

Su pasirinkimu. Šriftas

.Name = "Times New Roman"

.FontStyle = "Įprastas"

.Dydis = 10

. Perbrauktas = klaidinga

.Superscript = Netiesa

.Subscript = Netiesa

.OutlineFont = Netiesa

.Šešas = klaidinga

.Underline = xlUnderlineStyleNone

.ColorIndex = 3

Pabaiga su

Su atranka. Interjeras

.ColorIndex = 6

.Šablonas = xlKietas

.PatternColorIndex = xlAutomatinis

Pabaiga su

Pabaiga Sub

Pakeiskite šriftą į Times New Roman
Pakeiskite šrifto spalvą į Raudona
Pakeiskite užpildymo spalvą į Geltona
Spustelėkite Centras mygtuką
Spustelėkite Valiuta mygtuką

13. Pažvelkite į kodą. Jūs vis dar gaunate daug dalykų, kurių nebūtinai norite. „Excel“ įrašo viską numatytas nustatymus. Daugumą jų saugu ištrinti.

14. Eksperimentuokite su redagavimu tiesiai į kodą, kad pakeistumėte spalvas, šriftą, skaičių formatą ir pan.

3 pratimas: žiūrėkite, kaip įrašoma makrokomanda

Šis pratimas parodo, kad galite išmokti stebėdami makrokomandą, kai ji įrašoma. Tai taip pat pavyzdys, kai kartais teiginys Su netinkamas.

1. Atidarykite failą VBA01.xls.

Nors šis darbalapis vizualiai yra gerai ir gali būti suprantamas vartotojui, tuščių langelių buvimas gali sukelti problemų. Pabandykite filtruoti duomenis ir pažiūrėkite, kas atsitiks. Eiti į Duomenys> Filtras> Automatinis filtras ir filtruoti pagal regioną ar mėnesį. Akivaizdu, kad „Excel“ nedaro tų pačių prielaidų, kurias daro vartotojas. Tuščias ląsteles reikia užpildyti.

2. Sudėkite „Excel“ ir „VBE“ langus (vertikaliai), kad jie būtų vienas šalia kito.

3. Pasirinkite bet kurį duomenų langelį. Jei langelis tuščias, jis turi būti šalia langelio, kuriame yra duomenų.

4. Paleiskite makro įrašymo įrenginį ir iškvieskite makrokomandą „FillEmptyCells“. Nustatykite įrašyti Santykinės nuorodos.

5. VBE lange raskite ir dukart spustelėkite dabartinės darbaknygės modulį (Module1), kad atidarytumėte redagavimo sritį, tada išjunkite „Project Explorer“ langą ir „Properties“ (ypatybių) langą (tik norėdami gauti vietos).

6. Įrašykite naują makrokomandą taip:

1 žingsnis. „Ctrl“+* (norėdami pasirinkti dabartinį regioną)
2 žingsnis. Redaguoti> Eiti į> Specialus> Ruošiniai> Gerai (norėdami pasirinkti visas tuščias dabartinio regiono ląsteles)
Žingsnis 3. Įveskite = [UpArrow] tada paspauskite Ctrl+Enter (norėdami įvesti tekstą į visus pasirinktus langelius)
4 žingsnis. „Ctrl“+* (norėdami dar kartą pasirinkti dabartinį regioną)
5 žingsnis. Ctrl+C (norėdami nukopijuoti pasirinkimą - tiks bet koks metodas)
6 žingsnis. Redaguoti> Įklijuoti specialiai> Reikšmės> Gerai (norėdami įklijuoti duomenis atgal į tą pačią vietą, bet atsisakydami formulių)
7 žingsnis. Esc (išeiti iš kopijavimo režimo)
Žingsnis 8. Sustabdykite įrašymą.

7. Pažvelkite į kodą:

Sub FillEmptyCells ()

Selection.CurrentRegion.Select

Selection.SpecialCells (xlCellTypeBlanks). Pasirinkite

Pasirinkimas.FormulaR1C1 = "= R [-1] C"

Selection.CurrentRegion.Select

Pasirinkimas. Kopijuoti

Selection.PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = _

Netiesa, perkelti: = klaidinga

Application.CutCopyMode = Netiesa

Pabaiga Sub

8. Atkreipkite dėmesį, kad tarpo ir pabraukimo „_“ naudojimas reiškia vienos kodo eilutės padalijimą į naują eilutę. Be šio „Excel“ kodas būtų traktuojamas kaip du atskiri teiginiai.

9. Kadangi ši makrokomanda buvo įrašyta su gerai apgalvotomis komandomis, yra mažai nereikalingo kodo. Viduje konors Įklijuoti specialiai viskas po žodžio „xlValues“ gali būti ištrinta.

10. Išbandykite makrokomandą. Tada naudokite automatinio filtravimo įrankį ir atkreipkite dėmesį į skirtumą.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave