Enhavtabelo
Paŝo post paŝo lernilo por komencantoj por registri, vidi, ruli kaj konservi makroon. Vi ankaŭ lernos iujn internajn mekanikojn pri kiel funkcias makrooj en Excel.
Makrooj estas bonega maniero por aŭtomatigi ripetajn taskojn en Excel. Se vi trovas vin fari la samajn aferojn denove kaj denove, registri viajn movojn kiel makroo kaj asignu klavaran ŝparvojon al ĝi. Kaj nun, vi povas fari ĉiujn registritajn agojn aŭtomate, per unu klavopremo!
Kiel registri makroon en Excel
Kiel aliaj VBA-iloj, Excel makrooj loĝas sur la langeto Programisto , kiu estas kaŝita defaŭlte. Do, la unua afero, kiun vi devas fari, estas aldoni Developer-langeton al via Excel-rubando.
Por registri makroon en Excel, faru ĉi tiujn paŝojn:
- Sur la Ellaboranto langeto, en la grupo Kodo , alklaku la Registri makroon .
Alternative, alklaku la Registri. Makro -butono ĉe la maldekstra flanko de la Stato -stango:
Se vi preferas labori per la klavaro prefere ol la muso, premu la jenan klavsekvenco Alt , L , R (unu post unu, ne ĉiuj klavoj samtempe).
- En la Registru makroon kiu aperas, agordu la ĉefajn parametrojn de via makroo:
- En la Makroo name skatolo, enigu la nomon por via makroo. Provu fari ĝin signifa kaj priskriba, do poste vi povos rapide trovi la makroon en la listo.
Enŝparu al vi multan tempon kaj nervojn igante vian lernkurbon pli glata kaj makrooj pli efika.
Uzu relativajn referencojn por makroregistrado
Defaŭlte, Excel uzas absolutan referencado por registri makroon. Tio signifas, ke via VBA-kodo ĉiam referus al precize la samaj ĉeloj kiujn vi elektis, negrave kie vi estas en la laborfolio dum rulado de la makroo.
Tamen, eblas ŝanĝi la defaŭltan konduton al relativa referencado . En ĉi tiu kazo, VBA ne fikskodos ĉeladresojn, sed funkcios relative al la aktiva (nuntempe elektita) ĉelo.
Por registri makroon kun relativa referencado, alklaku la Uzu >Relativaj Referencoj butono sur la langeto Ellaboranto . Por reveni al absoluta referencado, alklaku la butonon denove por malŝalti ĝin.
Ekzemple, se vi registras agordon de tabelo kun la defaŭlta absoluta referencado, via makroo ĉiam estos rekrei la tabelon samloke (en ĉi tiu kazo, Header en A1, Item1 en A2, Item2 en A3).
Sub Absolute_Referencing() Range( "A1" ). Elektu ActiveCell.FormulaR1C1 = "Ĉapelo" Gamo( "A2" ). Elektu ActiveCell.FormulaR1C1 = "Item1" Range( "A3" ). Elektu ActiveCell.FormulaR1C1 = "Item2" End Sub
Se vi registras la saman makroon kun relativa referencado, la tabelo estos kreita kie ajn vi metos la kursoron antaŭ ruli la makroon ( Header en laaktiva ĉelo, Item1 en la suba ĉelo, kaj tiel plu).
Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Ĉefkapulo" ActiveCell.Offset(1, 0).Range( "A1" ). Elektu ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Range( "A1" ). Elektu ActiveCell.FormulaR1C1 = "Ero2" ActiveCell.Offset(1, 0).Range( "A1" ). Elektu End SubNotoj:
- Kiam vi uzas relativajn referencojn, nepre elektu la komencan ĉelon antaŭ ol vi komencas registri makroon.
- Relativa referenco ne funkcias por ĉio. Kelkaj Excel-ecoj, ekz. konvertante gamon al tabelo, postulas absolutajn referencojn.
Elektu intervalojn per klavarvojoj
Kiam vi elektas ĉelon aŭ gamon da ĉeloj per la muso aŭ sagoklavoj, Excel. skribas la ĉeladresojn. Sekve, kiam ajn vi rulas makroon, la registritaj operacioj estos faritaj ĝuste sur la samaj ĉeloj. Se tio ne estas tio, kion vi volas, uzu ŝparvojojn por elekti ĉelojn kaj intervalojn.
Ekzemple, ni enregistru makroon kiu fiksas specifan formaton (d-mmm-yy) por la datoj en la suba tabelo:
Por tio, vi registras la jenajn operaciojn: premu Ctrl + 1 por malfermi la dialogon Formati ĉelojn > Dato > elektu formaton > BONE. Se via registrado inkluzivas elekti la gamon per la muso aŭ sagoklavoj, Excel produktos la sekvan VBA-kodon:
Sub Date_Format() Range( "A2:B4" ). ElektuSelection.NumberFormat = "d-mmm-yy" End SubRuli la supran makroon elektus la gamon A2:B4 ĉiufoje. Se vi aldonas kelkajn pliajn vicojn al via tabelo, ili ne estos procesitaj de la makroo.
Nun, ni vidu kio okazas kiam vi elektas la tabelon per ŝparvojo.
Metu la kursoron. en la supra maldekstra ĉelo de la cela gamo (A2 en ĉi tiu ekzemplo), komencu registri kaj premu Ctrl + Shift + Fino . Kiel rezulto, la unua linio de la kodo aspektos jene:
Range(Selection, ActiveCell.SpecialCells(xlLastCell)). ElektuĈi tiu kodo elektas ĉiujn ĉelojn de la aktiva ĉelo ĝis la lasta uzita ĉelo, kio signifas, ke ĉiuj novaj datumoj estos aŭtomate inkluzivitaj en la elekto.
Alimente, vi povas uzi Ctrl + Shift + Sagoj kombinaĵoj:
- Ctrl + Shift + Dekstra sago por elekti ĉiujn uzitajn ĉelojn dekstren, sekvita de
- Ctrl + Shift + Malsupren sago por elekti ĉiujn uzitajn ĉelojn malsupren.
Ĉi tio generos du kodliniojn anstataŭ unu, sed la rezulto estos la sama - ĉiuj ĉeloj kun datumoj malsupre kaj dekstre de la aktiva ĉelo estos elektitaj:
Gamo (Selektado, Elekto. Fino ( xlToRight)). Elektu Gamon (Selektado, Elekto. Fino (xlSuben)). ElektuRegistri makroon por elekto prefere ol specifaj ĉeloj
La ĉi-supra metodo (t.e. elekti ĉiujn uzitajn ĉelojn komencante per la aktiva ĉelo) funkcias bonege por plenumi la samajn operaciojn sur la tuta tabelo. En iujsituacioj, tamen, vi eble volas, ke la makroo prilaboru certan gamon prefere ol la tutan tabelon.
Por tio, VBA provizas la objekton Selection kiu rilatas al la nune elektita(j) ĉelo(j) . Plej multaj aferoj, kiuj povas esti faritaj per gamo, ankaŭ povas esti faritaj per elekto. Kian avantaĝon ĝi donas al vi? En multaj kazoj, vi tute ne bezonas elekti ion ajn dum registrado - simple skribu makroon por la aktiva ĉelo. Kaj tiam elektu ajnan gamon, kiun vi volas, rulu la makroon, kaj ĝi manipulos la tutan elekton.
Ekzemple, ĉi tiu unulinia makroo povas formati ajnan nombron da elektitaj ĉeloj kiel procentoj:
Sub Procent_Format () Selection.NumberFormat = "0.00%" End SubPlanu zorge tion, kion vi registras
La Makroregistrilo de Microsoft Excel kaptas preskaŭ vian tutan agadon, inkluzive de la eraroj kiujn vi faras kaj korektas. Ekzemple, se vi premas Ctrl + Z por malfari ion, tio ankaŭ estos registrita. Eventuale, vi povus fini kun multe da nenecesa kodo. Por eviti tion, aŭ redaktu la kodon en la VB-Redaktilo aŭ ĉesu registradon, forigu mankan makroon kaj rekomencu registri.
Sekurkopiu aŭ konservu laborlibron antaŭ ol ruli makroon
La rezulto de Excel. makrooj ne povas esti malfaritaj. Do, antaŭ la unua ekzekuto de makroo, estas senco krei kopion de la laborlibro aŭ almenaŭ konservi vian nunan laboron por malhelpi neatenditajn ŝanĝojn. Se la makroo faras ion malbonan,simple fermu la laborlibron sen konservi.
Tenu registritajn makroojn mallongaj
Kiam aŭtomatigas sinsekvon de malsamaj taskoj, vi povas esti tentata registri ilin ĉiujn en ununura makroo. Estas du ĉefaj kialoj por ne fari ĉi tion. Unue, estas malfacile registri longan makroon glate sen eraroj. Due, grandaj makrooj estas malfacile kompreneblaj, testi kaj sencimigi. Tial, estas bona ideo dividi grandan makroon en plurajn partojn. Ekzemple, kiam vi kreas resuman tabelon el pluraj fontoj, vi povas uzi unu makroon por importi informojn, alian por solidigi datumojn, kaj trian por formi la tabelon.
Mi esperas, ke ĉi tiu lernilo donis al vi iom da kompreno. pri kiel registri makroon en Excel. Ĉiuokaze, mi dankas vin pro legado kaj esperas vidi vin en nia blogo venontsemajne!
makronomoj, vi povas uzi literojn, ciferojn kaj substrekojn; la unua signo devas esti litero. Spacoj ne estas permesitaj, do vi devus aŭ konservi nomon unuvortigita komencante ĉiun parton per majusklo (ekz. MiaUnua_Makro ) aŭ apartigi vortojn per substrekoj (ekz. Mia_Unua_Makro ). - En la skatolo Mallongklavo , tajpu ajnan literon por asigni klavaran ŝparvojon al la makroo (laŭvola).
Ambaŭ majuskloj aŭ minuskloj estas permesitaj, sed vi estus prudenta uzi majusklajn klavkombinojn ( Ctrl + Shift + litero ) ĉar makroaj ŝparvojoj superas iujn ajn defaŭltajn Excel-mallongigojn dum la laborlibro enhavanta la makroon estas malfermita. Ekzemple, se vi atribuas Ctrl + S al makroo, vi perdos la kapablon konservi viajn Excel-dosierojn per ŝparvojo. Asigni Ctrl + Shift + S konservos la norman konservan ŝparvojon.
- El la fallisto Stoki makroon en , elektu kie vi volas konservi vian makroon:
- Persona Makroa Laborlibro – konservas la makroon al speciala laborlibro nomata Personal.xlsb . Ĉiuj makrooj konservitaj en ĉi tiu laborlibro estas disponeblaj kiam ajn vi uzas Excel.
- Ĉi tiu Laborlibro (defaŭlte) - la makroo estos konservita en la nuna laborlibro kaj estos disponebla kiam vi remalfermas la laborlibron aŭ dividi ĝin kun aliaj uzantoj.
- Nova Laborlibro – kreas novan laborlibron kaj registras la makroon al tiu laborlibro.
- En la Priskribo skatolo, tajpu mallongan priskribon pri tio, kion faras via makroo (laŭvola).
Kvankam ĉi tiu kampo estas laŭvola, mi rekomendas vin ĉiam doni mallongan priskribon. Kiam vi kreas multajn malsamajn makroojn, ĝi helpos vin rapide kompreni, kion faras ĉiu makroo.
- Alklaku OK por komenci registri la makroon.
- En la Makroo name skatolo, enigu la nomon por via makroo. Provu fari ĝin signifa kaj priskriba, do poste vi povos rapide trovi la makroon en la listo.
- Efektivigu la agojn kiujn vi volas. por aŭtomatigi (bonvolu vidi la registran makroekzemplon).
- Kiam fino, alklaku la Ĉesigi Registradon sur la langeto Ellaboranto :
Aŭ la analoga butono sur la Stato -stango:
Ekzemplo pri registrado de makroo en Excel
Por vidi kiel ĝi funkcias praktike, ni registri makroon, kiu aplikas iom da formatado al la elektitaj ĉeloj. Por tio, faru la jenon:
- Elektu unu aŭ plurajn ĉelojn, kiujn vi volas formati.
- En la langeto Programisto aŭ Stato stango, alklaku Registri makroon .
- En la dialogkesto Registru makroon , agordu la jenajn agordojn:
- Nomu la makroon Header_Formatting (ĉar ni formatos kolumnajn kapojn).
- Metu la kursoron en la skatolon Mallongklavo , kaj premu Shift + F-klavojn samtempe. Ĉi tio asignos la ŝparvojon Ctrl + Shift + F al la makroo.
- Elektu konservi la makroon en ĉi tiu laborlibro.
- Por Priskribo , uzu la sekvan tekston klarigante kion la makroo faras: Grada teksto, aldonas plenkoloron kaj centras .
- Alklaku OK por komenci registri.
- Formati la antaŭelektitajn ĉelojn kiel vi volas. Por ĉi tiu ekzemplo, ni uzas la grasan tekstformaton, helbluan plenigkoloron kaj centran vicigon.
Konsileto. Ne elektu iujn ajn ĉelojn post kiam vi komencis registri la makroon. Ĉi tio certigos, ke la tuta formatado aplikiĝas al la elekto , ne al specifa intervalo.
- Alklaku Ĉesigi Registradon sur la langeto Programisto aŭ sur la stango Stato .
Jen! Via makroo estas registrita. Nun vi povas elekti ajnan gamon da ĉeloj en iu ajn folio, premu la asignitan ŝparvojon ( Ctrl+ Shift + F ), kaj via kutima formatado tuj estos aplikata al la elektitaj ĉeloj.
Kiel labori kun registritaj makrooj en Excel
Ĉiuj ĉefaj opcioj kiujn Excel provizas por makrooj estas alireblaj per la Makro dialogujo. Por malfermi ĝin, alklaku la butonon Makrooj sur la langeto Programisto aŭ premu la ŝparvojon Alt+ F8.
En la dialogujo. kiu malfermiĝas, vi povas vidi liston de makrooj disponeblaj en ĉiuj malfermitaj laborlibroj aŭ asociitaj kun aparta laborlibro kaj uzi la jenajn opciojn:
- Run - efektivigas la elektitan makroon. .
- Enpaŝu en - ebligas al vi sencimigi kaj testi la makroon en la Visual Basic Editor.
- Redakti - malfermas la elektitan makroon enla VBA-Redaktilo, kie vi povas vidi kaj redakti la kodon.
- Forigi - konstante forigas la elektitan makroon.
- Opcioj – ebligas ŝanĝi la la propraĵoj de makroo kiel la rilata Mallongigo klavo kaj Priskribo .
Kiel vidi makrooj en Excel
La kodo de Excel-makro povas esti vidita kaj modifita en la Vida Baza Redaktoro. Por malfermi la Redaktilon, premu Alt + F11 aŭ alklaku la butonon Visual Basic sur la langeto Ellaboranto .
Se vi vidas la VB Redaktoro unuafoje, bonvolu ne senti sin malinstigita aŭ timigita. Ni ne parolos pri la strukturo aŭ sintakso de la lingvo VBA. Ĉi tiu sekcio nur donos al vi iom da baza kompreno pri kiel funkcias Excel-makrooj kaj kion registrado de makroo efektive faras.
La VBA-Redaktilo havas plurajn fenestrojn, sed ni koncentriĝos pri la du ĉefaj:
Projekta Esploristo - montras liston de ĉiuj malfermitaj laborlibroj kaj iliaj folioj. Aldone, ĝi montras modulojn, uzantformojn kaj klasmodulojn.
Kodfenestro - ĉi tie vi povas vidi, redakti kaj skribi VBA-kodon por ĉiu objekto montrata en la Projekta Esploristo.
Kiam ni registris la specimenan makroon, la sekvaj aferoj okazis en la backend:
- Nova modulo ( Modelo1 ) estis enigita.
- La VBA-kodo de la makroo estis skribita en la Kodofenestro.
Por vidi la kodon de specifa specifamodulo, duoble alklaku la modulon ( Modulo1 en nia kazo) en la fenestro de Projekto-Esploristo. Kutime, makrookodo havas ĉi tiujn partojn:
Makronomo
En VBA, ajna makroo komenciĝas per Sub sekvata de la makronomo kaj finiĝas per End Sub , kie "Sub" estas mallongigo de Subrutino (ankaŭ nomata Proceduro ). Nia ekzempla makroo nomiĝas Header_Formatting() , do la kodo komenciĝas per ĉi tiu linio:
Sub Header_Formatting()Se vi volas alinomi la makroon , simple forigu la nuna nomo kaj tajpu novan rekte en la Kodo-fenestro.
Komentoj
Linioj prefiksitaj per apostrofo (') kaj defaŭlte montrataj verde ne estas ekzekutitaj. Ĉi tiuj estas komentoj aldonitaj por informceloj. La komentlinioj povas esti sekure forigitaj sen tuŝi la funkciecon de la kodo.
Kutime, registrita makroo havas 1 - 3 komentliniojn: makronomo (deviga); priskribo kaj ŝparvojo (se specifita antaŭ registrado).
Efektivebla kodo
Post komentoj, venas la kodo, kiu efektivigas la agojn, kiujn vi registris. Kelkfoje, registrita makroo povas havi multe da superflua kodo, kiu ankoraŭ povas esti utila por ekscii kiel aferoj funkcias kun VBA :)
La suba bildo montras kion faras ĉiu parto de nia makroa kodo:
Kiel ruli registritan makroon
Rulante makroon, vi diras al Excel reiri al la registrita VBA-kodo kaj ekzekuti laekzakte samaj paŝoj. Estas kelkaj manieroj ruli registritan makroon en Excel, kaj jen la plej rapidaj:
- Se vi asignis klavkombion al la makroo, premu tiun ŝparvojon. .
- Premu Alt + 8 aŭ alklaku la butonon Makrooj sur la langeto Ellaboranto . En la dialogkesto Makro , elektu la deziratan makroon kaj alklaku Run .
Ankaŭ eblas ruli registrita makroo alklakante vian propran butonon. Jen la paŝoj por fari unu: Kiel krei makrobutonon en Excel.
Kiel konservi makroojn en Excel
Ĉu vi registris makroon aŭ skribis VBA-kodon permane, por konservi la makroon. , vi devas konservi la laborlibron kiel makroon ebligita (.xlms etendo). Jen kiel:
- En la laborlibro enhavanta la makroon, alklaku la butonon Konservi aŭ premu Ctrl + S .
- En la Konservi kiel dialogkesto, elektu Excel Makro-Ebligita Laborlibro (*.xlsm) el la Konservi kiel tipo falliston, kaj poste alklaku Konservi :
Excel-makrooj: kio estas kaj kio ne estas registrita
Kiel vi ĵus vidis, estas sufiĉe facile registri makroon en Excel. Sed por krei efikajn makroojn, vi devas kompreni kio okazas malantaŭ la kulisoj.
Kio estas registrita
La Makroregistrilo de Excel kaptas sufiĉe multajn aferojn - preskaŭ ĉiujn musklakojn kaj klavojn. Do, vi devus pripensi viajn paŝojn zorge por eviti troan kodon kiu povasrezultigas neatenditan konduton de via makroo. Malsupre estas kelkaj ekzemploj pri tio, kion Excel registras:
- Selektado de ĉeloj per la muso aŭ klavaro. Nur la lasta elekto antaŭ ol ago estas registrita. Ekzemple, se vi elektas la gamon A1:A10, kaj poste alklakas ĉelon A11, nur la elekto de A11 estos registrita.
- Ĉelformatado kiel plenigaĵo kaj tiparo koloro, vicigo, randoj ktp.
- Nombroformatado kiel procento, valuto, ktp.
- Redaktado de formuloj kaj valoroj. Ŝanĝoj estas registritaj post kiam vi premas Enigu .
- Rulumado, movo de Excel-fenestroj, ŝanĝado al aliaj laborfolioj kaj laborlibroj.
- Aldono, nomado, movo kaj forigo de laborfolioj.
- Kreado, malfermante kaj konservante laborlibrojn.
- Landu aliajn makroojn.
Kio ne povas esti registrita
Malgraŭ multaj diversaj aferoj, kiujn Excel povas registri, certaj funkcioj superas la kapablojn de la Makroregistrilo:
- Personigoj de la Excel-rubando kaj Rapida Aliro ilobreto.
- Agoj en Excel-dialogoj kiel ekzemple Kondiĉa Formatado aŭ Trovu kaj Anstataŭigi (nur la rezulto estas registrita).
- Interagoj kun aliaj programoj. Ekzemple, vi ne povas registri kopii/alglui de Excel-laborlibro en Word-dokumenton.
- Io ajn kio implikas la VBA-Redaktilon. Ĉi tio trudas la plej signifajn limigojn - multaj aferoj, kiuj povas esti faritaj ĉe la programa nivelo, ne povasestu registrita:
- Kreante kutimajn funkciojn
- Vidigu kutimajn dialogujojn
- Farante buklojn kiel Por Sekva , Por Ĉiu , Faru Dum , ktp.
- Taksado de kondiĉoj. En VBA, vi povas uzi la deklaron IF Then Else por testi kondiĉon kaj ruli iun kodon se la kondiĉo estas vera aŭ alian kodon se la kondiĉo estas malvera.
- Efektivigo de kodo bazita sur eventoj. . Kun VBA, vi povas uzi multajn eventojn por ruli kodon asociitan kun tiu evento (kiel malfermi laborlibron, rekalkuli laborfolion, ŝanĝi elekton, ktp).
- Uzante argumentojn. Skribante makroon en la VBA-Redaktilo, vi povas provizi enigajn argumentojn por makroo por plenumi certan taskon. Registrita makroo ne povas havi iujn ajn argumentojn ĉar ĝi estas sendependa kaj ne estas ligita al iuj aliaj makrooj.
- Komprenante logikon. Ekzemple, se vi registras makroon, kiu kopias specifajn ĉelojn, ekzemple en la vico Total , Excel nur registros la adresojn de la kopiitaj ĉeloj. Kun VBA, vi povas kodi la logikon, t.e. kopii la valorojn en la vico Total .
Kvankam la ĉi-supraj limigoj starigas multajn limojn por registritaj makrooj, ili ankoraŭ estas bona deirpunkto. Eĉ se vi ne havas ideon pri la lingvo VBA, vi povas rapide registri makroon, kaj poste analizi ĝian kodon.
Utilaj konsiletoj por registri makroojn en Excel
Sube vi trovos kelkajn konsiletojn. kaj notoj kiuj povas potenciale