Kompjuters, Softwer
VBA Excel: programmi kampjun. Macros fl-Excel
Ftit nies jafu li l-ewwel verżjoni tal-popolari prodott ta 'Microsoft Excel deher fl-1985. Minn dakinhar dan ikun għadda diversi modifiki u d-domanda ta 'miljuni ta' utenti madwar id-dinja. Madankollu, ħafna xogħol biss b'former kapaċitajiet daqsxejn ftit ta 'dan spreadsheet u lanqas biss jafu kif jistgħu jagħmlu l-ħajja aktar faċli għall-abbiltà għall-ipprogrammar Excel.
X'inhu VBA
Programmazzjoni fl-Excel huwa magħmul minn Visual Basic għall-Applikazzjoni lingwa ta 'programmar li nbena fl-ispreadsheet aktar famużi mill-Microsoft.
Biex mertu tiegħu esperti jattribwixxu l-faċilità relattiva ta 'żvilupp. Kif turi l-prattika, VBA jista 'kaptan l-baŜi, anke utenti li ma jkollhomx ħiliet ta' programmazzjoni professjonali. Għal VBA karatteristiċi jinkludu eżekuzzjoni iskrittura fl-ambjent rikors uffiċċju.
L-iżvantaġġ tal-programm huma l-problemi assoċjati mal-kompatibbiltà ta 'verżjonijiet differenti. Dawn huma kkawżati mill-fatt li l-kodiċi VBA tal-programm jirreferi għall-funzjonalità li huwa preżenti fil-verżjoni l-ġdida tal-prodott, iżda mhux fil-qadima. Hemm ukoll żvantaġġ kbir u l-ftuħ eċċessivament għoli ta 'kodiċi li jibdlu l-wiċċ ta' barrani. Madankollu, Microsoft Office, u IBM Lotus Sinfonija tippermetti lill-utenti biex japplikaw encryption kodiċi dħul u password settings biex tarah.
Oġġetti, kollezzjonijiet, proprjetajiet, u metodi
Huwa b'dawn il-kunċetti li għandek bżonn biex tifhem dawk li sejjer jaħdem fl-ambjent VBA. L-ewwelnett, trid tifhem dak l-oġġett. Fl-Excel, f'dan jaġixxu bħala folja, ktieb, u l-firxa taċ-ċelluli. Dawn l-oġġetti għandhom ġerarkija speċjali, jiġifieri jobdu xulxin.
Ewlieni fosthom hija l-Applikazzjoni, il-programm Excel korrispondenti innifsu. Workbooks segwita, Worksheets, u Medda. Pereżempju, biex jirreferu għal ċelloli A1 fuq folja speċifiku għandu juri t-triq, b'kont meħud tal-ġerarkija.
Rigward il-kunċett ta ' "kollezzjoni," dan il-grupp ta' oġġetti ta 'l-istess klassi, li fiha reġistrazzjoni hija mogħtija ChartObjects. elementi tagħha huma wkoll oġġetti.
Li jmiss ħaġa - proprjetajiet. Dawn huma fattur neċessarju ta 'kwalunkwe oġġett. Per eżempju, għall-Medda - huwa Valur jew Formula.
Metodi - huwa l-kmand biex turi li inti tixtieq li tagħmel. Meta tikteb kodiċi VBA li jkunu separati mill-punt oġġett. Per eżempju, kif ser jintwera aktar tard, ħafna drabi meta jipprogrammaw fil-kmand "Excel" użu Ċelluli (1,1) .Select. Dan ifisser li huwa meħtieġ li jintgħażlu f'ċellola bl koordinati (1,1), jiġifieri A1.
Madankollu, dan hu sikwit użat Selection.ClearContents. L-implimentazzjoni tagħha hija ikklerjar l-kontenut taċ-ċellula magħżula.
Kif tibda
L-ewwelnett, inti tixtieq li toħloq il-fajl u ħlief, jassenja isem u tagħżel it-tip ta ' "Ktieb Excel makro-ppermettiet."
Imbagħad, mur l-applikazzjoni VB, li huwa biżżejjed biex jużaw kombinazzjoni ta ' "Alt" "F11» ewlenin u. Li jmiss:
- fil-menu bar fil-quċċata tat-tieqa, ikklikkja fuq l-ikona li jmiss għall-ikona Excel;
- Mudule magħżula kmand;
- iżommu tikklikkja fuq l-ikona mal-floppy disk;
- jiktbu, ngħidu aħna, kontorn kodiċi.
Huwa jistenna kif ġej:
programm sub ()
"Kodiċi tagħna
tmiem Sub
Jekk jogħġbok innota li l-linja "" kodiċi Tagħna "se jiġu enfasizzati b'kulur differenti (aħdar). Ir-raġuni għal dan apostrophe, mogħtija fil-bidu tas-sekwenza, li jindika li dak li ġej huwa kumment.
Issa inti tista 'tikteb xi kodiċi u joħolqu għalihom infushom għodda ġdida fil VBA Excel (ara l-programmi tal-kampjun. Eċċ). Naturalment, dawk li huma familjari mal-punti bażiċi ta 'Visual Basic, se jkun ferm aktar faċli. Madankollu, anke dawk li ma jkollhomx, jekk inti tixtieq li tkun kapaċi tikseb komda pjuttost malajr.
Macros fl-Excel
Wara dan l-isem ġlud programmi bil-miktub fil Visual Basic għall-lingwa Applikazzjoni. Għalhekk, l-ipprogrammar li Excel - huwa li jinħoloq makro għall-kodiċi mixtieqa. Ma 'din il-kapaċità, il-Microsoft spreadsheet awto-tiżviluppa, adattament għall-ħtiġiet ta' utent partikolari. Wara li ttrattat kif toħloq moduli għall-kitba macros, huwa possibbli li jipproċedi bil eżempji konkreti ta 'programm VBA Excel. Huwa aħjar li tibda bil-kodiċijiet aktar bażiċi.
EŻEMPJU 1
Kompitu: Ikteb programm li se kopja l-valur tal-kontenut tal ċellola waħda u mbagħad jiktbu għall-ieħor.
Biex tagħmel dan:
- tiftaħ il-tab "View";
- jċaqalqu l-icon "macros";
- ħawwad għall- "Macro Record";
- timla formola miftuħa.
Għas-sempliċità, fil- "isem Makro" leave "Makros1" u fil- "Shortcut ewlenin" tiddaħħal, per eżempju, hh (dan ifisser li inti tista 'tmexxi l-programm eżempju se jkun «Ctrl + h» tim Blitz). Istampa Ikteb.
Issa li inti bdew reġistrazzjoni makro, żid sal-kontenut ta 'ċellula għall-ieħor. Ritorn għall-ikona oriġinali. Ikklikkja fuq il- "Makro Rekord". Din l-azzjoni jimmarka t-tlestija ta 'applets.
Li jmiss:
- għal darb'oħra jiċċaqalqu lejn il-sekwenza "Macros";
- hija magħżula fil-lista "Makro 1";
- ikklikkja "Run" (l-istess azzjoni tibda Imniedi shortcut keys «Ctrl + hh").
Bħala riżultat, l-azzjoni li jkun ġie eżegwit matul tirreġistra l-makro.
Jagħmel sens li wieħed jara kif il-kodiċi Dehra. Biex tagħmel dan, jmorru lura lejn il-sekwenza "macros" u ikklikkja "Edit" jew "Daħħal". Bħala riżultat, huma jsibu ruħhom fl-ambjent VBA. Attwalment, il-kodiċi nnifsu tinsab bejn il-linji makro Sotto Makros1 () u Tmiem Sub.
Jekk ikkupjar tkun ġiet imwettqa, per eżempju, minn ċellola A1 C1 taċ-ċelluli, wieħed mill-linji ta 'kodiċi se look like Medda ( "C1"). Agħżel. Fit-traduzzjoni, jidher qisu "Firxa (" C1 "). Agħżel", fi kliem ieħor, jagħmel tranżizzjoni għal VBA Excel, C1 taċ-ċelluli.
Sehem attiv tal-kodiċi tikkompleta ActiveSheet.Paste tim. Dan ifisser reġistrazzjoni kontenuti magħżula phone (f'dan il-każ, A1) fil-C1 ċellola magħżula.
EŻEMPJU 2
ċikli VBA tgħin biex toħloq macros differenti fl-Excel.
ċikli VBA tgħin biex toħloq macros differenti. Assumi li hemm y funzjoni = x + x 3 + 3x 2 - cos (x). Tixtieq toħloq makro għall-grafika tagħha. Dan jista 'jsir biss bl-użu ċikli VBA.
Għall-valur inizjali u finali tal-funzjonijiet argument tieħu x1 = 0 u x2 = 10. Barra minn hekk, huwa meħtieġ li tiġi introdotta kostanti - il-valur għall-pass bidliet l-argument u valur inizjali għal-counter.
eżempji kollha ta 'macros VBA Excel huma maħluqa jużaw l-istess proċedura bħal stipulati hawn fuq. F'dan il-każ partikolari, il-kodiċi Dehra:
programm tal sub ()
x1 = 1
x2 = 10
shag = 0.1
i = 1
Do Filwaqt x1
y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)
Ċelloli (i, 1) .Value = x1 (valur x1 miktub fil-memorja bil-koordinati (i, 1))
Ċelloli (i, 2) .Value = y (valur y hija miktuba fiċ-ċellola bil-koordinati (i, 2))
i = i + 1 (għadd valida);
x1 = x1 + shag (-argument jinbidel id-daqs pass);
loop
Tmiem Sub.
Bħala riżultat ta 'dan makro run "Excel" jiksbu żewġ kolonni, l-ewwel waħda minnhom huma rreġistrati l-valuri għall x, u t-tieni - li y.
Imbagħad iskeda kapaċi li jibnu fuqhom, l-istandard għal "Excel".
EŻEMPJU 3
Biex jiġu implimentati ċikli VBA Excel 2010, kif ukoll f'verżjonijiet oħra, flimkien mal-Do diġà naqqset Filwaqt disinn użat Għal.
Ikkunsidra programm li joħloq kolonna. F'kull ċellula se jiġu rreġistrati kwadri numru linja korrispondenti. Għall-użu tad-disinn se jippermetti li tniżżilha fil-qosor ħafna, mingħajr l-użu ta 'counter.
L-ewwel huwa meħtieġ li tinħoloq makro, kif deskritt hawn fuq. Sussegwentement, ikteb il-kodiċi innifsu. Aħna nemmnu li aħna huma interessati fil-valuri għall-10 ċelloli. Il-kodiċi hija kif ġej.
Għal i = 1 sa 10 li jmiss
Il-kmand huwa trasferit għall-lingwa "uman", bħala "ripetuti 1-10 f'inkrementi ta 'wieħed."
Jekk il-kompitu li jirċievu l-kolonna bi kwadri, per eżempju, interi fard kollha bejn 1 u 11, aħna tikteb:
Għal i = 1 sa 10 pass 1 jmiss.
Hawnhekk, pass - pass. F'dan il-każ, huwa ugwali għal tnejn. Konvenzjonalment, l-assenza tal-kelma fil-linja ifisser li pass wieħed.
Ir-riżultati jeħtieġ li jkunu maħżuna fil numru ta 'ċelloli (i, 1). Imbagħad kull darba li tibda l-ċiklu ma 'żieda fil-valur ta' i pass awtomatikament se jikbru u numru linja. Għalhekk, se jkun hemm ottimizzazzjoni kodiċi.
B'mod ġenerali, il-kodiċi look like:
programm sub ()
Għal i = 1 Biex 10 Pass 1 (jista 'jinkiteb biss għall i = 1 Biex 10)
Ċelloli (i, 1) .Value = i ^ 2 (jiġifieri b'valur kwadru huwa miktub fil-ċellola (i, 1) i)
Li jmiss (f'sens tilgħab l-irwol tal-mezzi counter u bidu ieħor ċiklu)
Tmiem Sub.
Jekk isir b'mod korrett, inkluż reġistrazzjoni u tmexxija macros (ara. L-istruzzjonijiet ta 'hawn fuq), allura huwa msejjaħ kull darba daqs mogħti jinkisbu kolonna (f'dan il-każ jikkonsisti ta '10 ċelluli).
EŻEMPJU 4
Fil-ħajja ta 'kuljum, ħafna drabi huwa neċessarju li din jew dik id-deċiżjoni skond il-xi kundizzjonijiet. ma tistax tagħmel mingħajrhom fil VBA Excel. Eżempji ta 'programmi meta l-kors ulterjuri tal-algoriżmu tkun magħżula minflok inizjalment predeterminat, ħafna disinn użat komunement tat Jekk ... Imbagħad (għal każijiet diffiċli) Jekk ... Imbagħad ... TMIEM Jekk.
Ikkunsidra l-każ partikolari. Ejja ngħidu li inti tixtieq li toħloq makro għal "Excel" biex iċ-ċellola bl-koordinati (1,1) ġiet irreġistrata:
1 jekk l-argument huwa pożittiv;
0 jekk l-argument huwa żero;
1, jekk l-argument huwa negattiv.
Il-ħolqien ta 'tali makro għal "Excel" jibda b'mod normali, permezz tal-użu ta' "taħraq" ċwievet Alt u F11. Aktar miktub-kodiċi li ġej:
programm sub ()
x = Ċelloli (1, 1) .Value (Dan il-kmand jassenja l-valur ta 'x koordinati tal-kontenut taċ-ċelluli (1, 1))
Jekk x> 0 Imbagħad Ċelloli (1, 1) .Value = 1
Jekk x = 0 Imbagħad Ċelloli (1, 1) .Value = 0
Jekk x <0 Imbagħad Ċelloli (1, 1) .Value = -1
Tmiem Sub.
Jibqa 'biex tmexxi makro u jiksbu fil- "Excel" valur mixtieq għall-argument.
funzjonijiet VBA
Kif jista 'jkollok ndunat, fil-programm ta' Microsoft applikazzjoni spreadsheet aktar famużi mhuwiex wisq diffiċli. Speċjalment jekk inti jitgħallmu kif jużaw funzjonijiet VBA. B'kollox, din il-lingwa ta 'programmar maħluqa speċifikament għall-kitba applikazzjonijiet fil- "Excel" u l-Kelma, madwar 160 funzjonijiet. Huma jistgħu jinqasmu f'diversi gruppi kbar. Dawn huma:
- funzjonijiet matematiċi. Applikazzjoni tagħhom għall-argument tal-valur cosine jinkiseb, il-logaritmu naturali, u għalhekk l-parti sħiħa.
- funzjonijiet finanzjarji. Minħabba d-disponibbiltà u l-użu ta 'programmazzjoni tagħhom fl-Excel, inti tista' tikseb għodod effettivi għall-kontabilità u l-abitazzjonijiet finanzjarji.
- funzjonijiet ta 'pproċessar Array. Dawn jinkludu Array, IsArray; LBound; UBound.
- VBA Excel jiffunzjonaw għal-linja. Dan huwa grupp pjuttost kbir. Dan jinkludi, per eżempju, il-funzjoni Ispazju biex joħolqu string ma 'numru ta' lakuni ugwali għall-argument numru sħiħ jew simboli trasferimenti ASC għall-kodiċi ANSI. Kollha kemm huma użati ħafna u jippermetti li inti taħdem ma kordi fil- "Excel" biex joħolqu applikazzjonijiet ħafna aktar faċli li taħdem ma 'dawn it-tabelli.
- funzjonijiet ta 'konverżjoni tat-tip tad-data. Per eżempju, CVar prospetti argument Espressjoni, jikkonvertuha li tip ta 'data Varjant.
- funzjonijiet Data. Huma ħafna jespandu l-karatteristiċi standard ta ' "Excel". Allura, il-funzjoni WeekdayName jirritorna l-isem (sħiħa jew parzjali) tal-jum tal-ġimgħa bin-numru tagħha. Saħansitra aktar utli hija l-gimgħa. Huwa jagħti n-numru ta 'sekonda li għaddew peress nofs il-lejl li f'mument partikolari tal-ġurnata.
- Funzjoni li jikkonvertu argument numerika fis-sistemi numru differenti. Per eżempju, Ottubru outputs għal rappreżentanza octal tan-numru.
- funzjonijiet ifformattjar. L-aktar importanti minn dawn huwa l Format. Dan jirritorna l-Varjant ma espressjoni ifformattjat skond l-istruzzjonijiet mogħtija fid-deskrizzjoni tal-format.
- u oħrajn.
L-istudju tal-proprjetajiet ta 'dawn il-funzjonijiet u l-applikazzjoni tagħhom ser tespandi b'mod sinifikanti l-ambitu ta' "Excel".
EŻEMPJU 5
Ejja nippruvaw biex isolvu problemi aktar kumplessi. Per eżempju:
dokument tal-karta Share-livell attwali tal-ispejjeż tar-rapport intrapriża. jirrikjedi:
- tiżviluppa porzjon mudell tagħha billi spreadsheet "Excel";
- jagħmlu programm VBA li se jitlob għall dejta mhux ipproċessata jimlieh, biex iwettqu l-kalkolazzjonijiet meħtieġa u imla l-mudell taċ-ċellula korrispondenti.
Ikkunsidra waħda mis-soluzzjonijiet li ġejjin.
Ħolqien ta 'mudell
L-azzjonijiet kollha huma mwettqa fuq folja standard fl-Excel. Free ċelloli riservati għal dħul ta 'data fuq il- xahar, sena, kumpaniji titolu' konsumatur, l-ammont tal-ispejjeż, il-livell tagħhom ta 'fatturat. Billi n-numru ta 'kumpaniji (kumpaniji), li dwarha r-rapport ma tiġix irreġistrata, iċ-ċelloli li jagħmlu fuq il-bażi tal-valuri u l-isem professjonali mhijiex riżervata bil-quddiem. Worksheet assenjat għal isem ġdid. Per eżempju, "Rapport Օ".
varjabbli
Li tikteb il-programm awtomatikament imla l-mudell, tagħżel l-notazzjoni. Dawn se jintużaw għall-varjabbli:
- NN- numru tar-ringiela attwali tat-tabella;
- TP u TF - ppjanati u l-fatturat attwali;
- SF u DP - ispejjeż totali attwali u ppjanati;
- IP u IF - livell ispejjeż attwali ppjanati u.
Aħna jindikaw mill-istess ittri, iżda ma ' "prefiss» Itog totali akkumulazzjoni għal dak kolonna. Per eżempju, ItogTP - Fir-rigward tal-kolonna intitolata, bħala "il-fatturat ippjanat."
Soluzzjoni tal-problema bl-użu ipprogrammar VBA
Meta tuża dan notazzjoni, irridu jiksbu l-formula għall-varjanza. Jekk inti tixtieq li twettaq il-kalkolu f '% għandna (F - P) / P * 100, u l-ammont ta' - (F - P).
Ir-riżultati ta 'dawn il-kalkoli jistgħu jkunu aħjar biss biex jagħmlu "Excel" spreadsheet fiċ-ċelloli xierqa.
Għar-riżultat u pronjożi fil-fatt jinkiseb billi formuli ItogP = ItogP + P u ItogF = ItogF + F.
Għal devjazzjonijiet użu = (ItogF - ItogP) / ItogP * 100 jekk il-kalkolu jsir bħala persentaġġ, u jekk il-valur totali - (ItogF - ItogP).
Ir-riżultati għal darb'oħra rreġistrati fiċ-ċelloli approprjati, u għalhekk ma hemmx bżonn li jassenjawhom għal varjabbli.
Qabel tibda biex joħolqu programm li inti tixtieq li jiffrankaw il-workbook, per eżempju, taħt l-isem "Otchet1.xls".
Istampa "Oħloq tabella ta 'rappurtar," inti trid istampa biss 1 ħin wara li jidħlu fil-informazzjoni header. Għandek tkun taf u regoli oħra. B'mod partikolari, il-buttuna "Żid linja" għandha tkun ippressata kull darba wara d-dħul fit-tabella ta 'valuri għal kull attività. Wara li tidħol l-informazzjoni kollha meħtieġa biex agħfas il-buttuna "Finish", u mbagħad jaqilbu għal "Excel" fit-tieqa.
Issa li taf kif se ssolvi l-problema għall Excel ma macros. -Kapaċità li jużaw VBA jisbqu (ara programmi kampjun. Fuq) u jista 'jkollok bżonn biex taħdem fl-ambjent mill-aktar popolari fil-mument, l-editur test "Kelma." B'mod partikolari, permezz ta 'rekordjar, kif muri fil-bidu ta' dan l-artikolu, jew billi tikteb kodiċi li jinħolqu l-buttuni menu li permezz tagħhom ħafna mill-operazzjonijiet fuq it-test jista 'jsir billi tagħfas il-keys fuq id-dazju jew permezz tal- "View" ikona u "macros" tab.
Similar articles
Trending Now