KompjutersSoftwer

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

 

 

 

 

Newest

Copyright © 2018 mt.birmiss.com. Theme powered by WordPress.