Mga computerSoftware

VBA Excel: sample program. Macros sa Excel

Ilang mga taong kilala na ang unang bersyon ng sikat na produkto ng Microsoft Excel ay lumitaw sa 1985. Simula noon ito ay undergone ilang mga pagbabago at mga pangangailangan ng mga milyon-milyong mga gumagamit sa buong mundo. Gayunpaman, maraming trabaho lamang sa isang maliit na bit ng mga kakayahan ng spreadsheet na ito at hindi kahit na malaman kung paano sila maaaring gumawa ng buhay mas madali para sa mga kakayahan sa Excel programming.

Ano ang VBA

Programming sa Excel ay ginagawa sa pamamagitan ng Visual Basic para sa Application programming language na orihinal na binuo sa mga pinaka sikat na spreadsheet mula sa Microsoft.

Sa kanyang pagiging karapat-dapat eksperto magpatungkol sa kamag-anak kadalian ng pag-unlad. Bilang pagsasanay nagpapakita, VBA ay maaaring master ang mga pangunahing kaalaman, kahit na gumagamit na hindi magkaroon ng mga propesyonal na mga kasanayan sa programming. Para sa VBA tampok ang script pagpapatupad sa opisina application na kapaligiran.

Ang dehado ng programa ay ang mga problema na kaugnay sa ang compatibility ng iba't ibang mga bersyon. Ang mga ito ay dulot ng ang katunayan na ang VBA code ng programa ay tumutukoy sa ang pag-andar na ay naroroon sa bagong bersyon ng produkto, ngunit hindi sa ang luma. Mayroon ding isang malaking kawalan at sobra-sobra mataas na pagiging bukas ng code upang baguhin ang mukha ng isang estranghero. Gayunman, nagbibigay-daan sa Microsoft Office, at IBM Lotus Symphony mga gumagamit upang mag-aplay encryption entry code at password setting upang tingnan ito.

Mga Bagay, mga koleksyon, mga katangian, at mga pamamaraan

Ito ay may mga konseptong ito na kailangan mo upang maunawaan ang mga taong ay pagpunta upang gumana sa VBA kapaligiran. Una sa lahat, kailangan mong maunawaan kung ano ang bagay ay. Sa Excel, sa ito kumilos bilang isang sheet, isang aklat, at mga cell range. Ang mga bagay na may mga espesyal na hierarchy, hal sundin ang bawat isa.

Chief kasama ng mga ito ay ang Application, ang katumbas na Excel program mismo. Sinundan Workbooks, Worksheet, at Range. Halimbawa, upang sumangguni sa cell A1 sa isang partikular na sheet ay dapat ituro ang daan, nang isinasaalang-alang ang hierarchy.

Tungkol sa ang konsepto ng "collection," grupong ito ng mga bagay ng parehong klase, kung saan pag-record ay ibinibigay ChartObjects. mga elemento nito ay bagay din.

Susunod na bagay - properties. Ang mga ito ay isang kinakailangang tampok ng anumang object. Halimbawa, para sa mga Saklaw - ay isang Value o Formula.

Methods - ay ang command upang ipakita na nais mong. Kapag sumusulat code sa VBA sa kanila upang ihiwalay mula sa object point. Halimbawa, gaya ng ipakikita sa ibang pagkakataon, napakadalas kapag programming sa "Excel" paggamit Cells command (1,1) .Piliin. Ito ay nangangahulugan na ito ay kinakailangan upang pumili ng isang cell na may mga coordinate (1,1), hal A1.

Gayunpaman, madalas itong ginagamit Selection.ClearContents. pagpapatupad nito ay pag-clear ang mga nilalaman ng napiling cell.

Paano upang simulan ang

Una sa lahat, nais mong lumikha ng ang file at i-save ito, magtalaga ng pangalan at piliin ang uri ng «Book Excel macro-pinagana."

Pagkatapos, pumunta sa VB application, na kung saan ay sapat na upang gamitin ang isang kumbinasyon ng mga «Alt» susi at «F11». Next:

  • sa menu bar sa tuktok ng window, i-click ang icon sa tabi ng icon Excel;
  • Mudule napiling utos;
  • panatilihin ang pag-click sa icon sa floppy disk;
  • magsulat, sabihin nating, isang code outline.

Tila tulad ng sumusunod:

Sub programa ()

'Ang aming code

end Sub

Mangyaring tandaan na ang linyang " 'Ang aming code" ay naka-highlight sa isang iba't ibang mga kulay (berde). Ang dahilan para sa kudlit na ito, inihatid sa simula ng string, na kung saan ay nagpapahiwatig na ang sasabihin ko'y isang komento.

Ngayon ay maaari mong isulat ang anumang code at lumikha ng para sa kanilang sarili ng isang bagong tool sa VBA Excel (tingnan ang sample program. Atbp). Of course, ang mga taong pamilyar sa mga pangunahing kaalaman ng Visual Basic, ito ay magiging lubhang mas madaling. Gayunpaman, kahit na sa mga hindi nag magkaroon, kung nais mong magagawang upang makakuha ng komportable masyadong mabilis.

Macros sa Excel

Sa likod ng pangalan na ito Itinatago programa na nakasulat sa Visual Basic para sa wikang Application. Kaya, ang mga programming sa Excel - ay upang lumikha ng isang macro sa gustong code. Sa pamamagitan ng kakayahan na ito, Microsoft spreadsheet self-bubuo, pag-angkop sa mga pangangailangan ng isang partikular na gumagamit. Nagkakaproblema Aaksyunan sa kung paano lumikha ng mga module para sa pagsulat ng macros, ito ay posible upang magpatuloy sa kongkretong halimbawa ng VBA Excel program. Ito ay pinakamahusay na magsimula sa mga pinaka-pangunahing mga code.

EXAMPLE 1

Gawain: Sumulat ng isang programa na gagayahin ang halaga ng mga nilalaman ng isang cell at pagkatapos ay sumulat sa isa pa.

Upang gawin ito:

  • buksan ang tab na "View";
  • ilipat ang mga icon na "macros";
  • iling sa "Record Macro";
  • punan binuksan form.

Para maging simple, sa "Macro Name" iwanan "Makros1" at sa "Shortcut key" ay ipinasok, halimbawa, hh (ito ay nangangahulugan na maaari mong patakbuhin ang mga halimbawa na programa ay magiging «Ctrl + h» blitz team). Pindutin ang Enter.

Ngayon na kayo ay may nagsimula pag-record ng macro, gumawa ng up ang mga nilalaman ng isang cell sa isa pa. Bumalik sa orihinal na icon. Mag-click sa "I-record Macro". Ang pagkilos na ito ay minamarkahan ang pagkumpleto ng applets.

Next:

  • muli lumipat sa string "Macros";
  • ay napili sa listahan "Macro 1";
  • i-click ang "Run" (ang parehong aksyon ay nagsisimula Inilunsad shortcut keys «Ctrl + hh»).

Bilang isang resulta, ang aksyon na kung saan ay ginanap habang nagre-record ng macro.

Ito ang akma upang makita kung paano ang code ganito ang hitsura. Upang gawin ito, bumalik sa string "Macros" at i-click ang "I-edit" o "Enter". Bilang isang resulta, makikita nila ang kanilang sarili sa VBA kapaligiran. Sa totoo lang, ang code mismo ay matatagpuan sa pagitan ng mga linya macro Makros1 Sub () at End Sub.

Kung pagkopya ay gumanap, halimbawa, mula sa isang cell A1 sa cell C1, isa sa mga linya ng code ang magiging hitsura ng Saklaw ( "C1"). Piliin. Sa pagsasalin, tinitingnan nito tulad ng "Saklaw (" C1 "). Piliin ang", sa ibang salita, ay gumagawa ng isang paglipat sa VBA Excel, sa cell C1.

Ang isang aktibong bahagi ng code nakatapos ActiveSheet.Paste team. Ito ay nangangahulugan ng pag-record mga nilalaman napiling cell (sa kasong ito, A1) sa napiling cell C1.

EXAMPLE 2

VBA cycles makatulong na lumikha ng iba't ibang mga macro sa Excel.

VBA cycles makatulong na lumikha ng iba't ibang mga macros. Ipagpalagay na mayroong isang function na y = x + x 3 + 3x 2 - cos (x). Gusto mong lumikha ng isang macro para sa kanyang graphics. Ito ay maaaring gawin lamang sa pamamagitan ng paggamit ng VBA cycles.

Para sa paunang at huling halaga ng argument function tumagal x1 = 0 at x2 = 10. Higit pa rito, ito ay kinakailangan upang ipakilala ang isang pare-pareho - ang halaga para sa step nagbabago ang argument at ng isang paunang halaga para sa counter.

Ang lahat ng mga halimbawa ng VBA Excel macros ay nilikha gamit ang parehong pamamaraan tulad ng isinasaad sa itaas. Sa partikular na kasong, ang code ganito ang hitsura:

Sub programm ()

x1 = 1

x2 = 10

shag = 0.1

i = 1

Huwag Habang x1

y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)

Cells (i, 1) .Value = x1 (x1 halaga na nakasulat sa memorya sa ang mga coordinate (i, 1))

Cells (i, 2) .Value = y (y halaga ng isang ay nakasulat sa mga cell na may mga coordinate (i, 2))

i = i + 1 (valid count);

x1 = x1 + shag (argument ay nagbago sa laki hakbang);

silo

End Sub.

Bilang isang resulta ng mga ito tumakbo macro "Excel" kumuha ng dalawang haligi, ang unang ng kung saan ay naka-tala ang mga halaga para sa x, at ang pangalawang - upang y.

Pagkatapos ay mag-iskedyul magagawang upang bumuo sa mga ito, ang pamantayan para sa "Excel".

EXAMPLE 3

Upang ipatupad cycles sa VBA Excel 2010, pati na rin sa iba pang mga bersyon, kasama ang mga naka nabawasan Do Habang disenyo na ginagamit para sa.

Isaalang-alang ang isang programa na lumilikha ng isang haligi. Sa bawat cell na ito ay maitatala parisukat kaukulang numero ng linya. Para sa paggamit ng ang disenyo ay magbibigay-daan upang i-record ito tunay madaling sabi, nang walang ang paggamit ng isang counter.

Una ito ay kinakailangan upang lumikha ng isang macro, tulad ng inilarawan sa itaas. Susunod, isulat ang code mismo. Naniniwala kami na kami ay interesado sa mga halaga para sa 10 na mga cell. Ang code ay tulad ng sumusunod.

Para i = 1 hanggang 10 Next

Ang command ay ililipat sa "pantao" na wika, bilang "paulit-ulit mula 1 hanggang 10 sa mga palugit ng isa."

Kung ang gawain upang matanggap ang hanay na may parisukat, halimbawa, ang lahat ng kakaiba integers sa pagitan ng 1 at 11, isulat namin:

Para i = 1 hanggang 10 hakbang 1 Susunod.

Dito, hakbang - hakbang. Sa kasong ito, ito ay katumbas ng dalawa. Sa pamamagitan ng default, ang kawalan ng salita sa loop ay nangangahulugan na ang isang solong hakbang.

Ang mga resulta ay kailangang ma-imbak sa cell number (i, 1). Pagkatapos ay sa tuwing sisimulan mo ang cycle na may isang pagtaas sa ang halaga ng i hakbang ay awtomatikong lumalaki at numero ng linya. Sa gayon, magkakaroon code optimization.

Sa pangkalahatan, ang code magiging ganito ang hitsura:

Sub programa ()

Para i = 1 Upang 10 Step 1 (maaaring nakasulat lamang Para i = 1 Upang 10)

Cells (i, 1) .Value = i ^ 2 (hal square na halaga ay nakasulat sa cell (i, 1) i)

Susunod na (sa isang kahulugan ay gumaganap ang papel na ginagampanan ng counter ibig sabihin nito at isa pang ikot ng simula)

End Sub.

Kung nagawa nang tama, kabilang ang pag-record at tumatakbo macros (tingnan. Ang mga tagubilin sa itaas), at pagkatapos ay ito ay tinatawag na sa bawat oras na ang isang naibigay na laki ay maaaring makuha hanay (sa kasong ito na binubuo ng 10 na mga cell).

EXAMPLE 4

Sa araw-araw na buhay, napakadalas ito ay kinakailangan na kumuha ng ito o na ang desisyon depende sa ilang mga kundisyon. hindi maaaring magawa nang wala ang mga ito sa VBA Excel. Mga halimbawa ng mga programa kung saan ang mga karagdagang kurso ng algorithm ay pinili sa halip na sa una paunang natukoy na, pinaka-karaniwang ginagamit na disenyo ng Kung ... Pagkatapos ay (para sa mahirap na mga kaso) Kung ... Pagkatapos ... END Kung.

Isaalang-alang ang partikular na kaso. Ipagpalagay na gusto mong lumikha ng isang macro para sa "Excel" sa cell na may mga coordinate (1,1) ay naitala:

1 kung ang argument ay positibong;

0 kung ang argument ay zero;

1, kung ang argumento ay negatibo.

Ang paglikha ng mga tulad ng isang macro para sa "Excel" ay nagsisimula sa isang standard na paraan, sa pamamagitan ng paggamit ng "mainit" mga susi Alt at F11. Dagdag dito nakasulat ang sumusunod na code:

Sub programa ()

x = Cells (1, 1) .Value (command na ito ay nagtatalaga ng halaga ng x coordinate ng mga nilalaman ng cell (1, 1))

Kung x> 0 Pagkatapos Cells (1, 1) .Value = 1

Kung x = 0 Pagkatapos Cells (1, 1) .Value = 0

Kung x <0 Pagkatapos Cells (1, 1) .Value = -1

End Sub.

Ito ay nananatiling upang magpatakbo ng isang macro at makipag-"Excel" nais na halaga para sa argumento.

VBA function

Tulad ng maaaring napansin, sa pinaka-sikat na programa ng Microsoft spreadsheet application ay hindi masyadong mahirap. Lalo na kung malaman mo kung paano gamitin ang VBA function. Sa kabuuan, ito programming language na nilikha partikular para sa pagsusulat ng mga application sa "Excel" at ang Salita, ang tungkol sa 160 mga pag-andar. Maaari silang ma-nahahati sa ilang mga malalaking grupo. Ang mga ito ay:

  • Mathematical function. Paglalapat ng mga ito sa mga argumento ng ang halaga ng cosine ay nakuha, ang natural na logarithm, at sa gayon ang buong bahagi.
  • Financial function. Dahil sa kanilang availability at paggamit programming sa Excel, maaari kang makakuha ng epektibong mga tool para sa accounting at pinansiyal na pakikipag-ayos.
  • Array processing function. Kabilang dito ang Array, IsArray; LBound; UBound.
  • VBA Excel gumana para sa mga linya. Ito ay isang medyo malaking grupo. Kabilang dito ang, halimbawa, Space function na upang lumikha ng isang string na may isang bilang ng mga gaps katumbas ng integer argument o Asc transfers simbolo upang ANSI code. Ang lahat ng mga ito ay malawak na ginamit at daan sa iyo upang gumana sa mga string sa "Excel" upang lumikha ng mga application mas madali upang gumana sa mga tables.
  • uri ng data ng conversion function. Halimbawa, CVar nagbabalik argument Expression, nagko-convert ito sa Variant uri ng data.
  • Petsa function. Sila ay lubos na palawakin ang standard na mga tampok ng "Excel". Kaya, WeekdayName function ay nagbalik sa pangalan (kumpleto o bahagyang) ng araw ng linggo sa pamamagitan ng numero nito. Kahit mas kapaki-pakinabang ay ang Timer. Siya ay nagbibigay sa ang bilang ng mga segundo na lumipas mula hatinggabi sa isang partikular na sandali ng araw.
  • Gumana ang pag-convert ng numeric argument sa iba't ibang mga sistema ng numero. Halimbawa, Okt outputs sa octal representasyon ng numero.
  • pag-format function. Ang pinaka-mahalaga sa mga ito ay ang Format. Ito ay nagbabalik ng isang Variant na may isang expression na-format na ayon sa mga tagubilin na ibinigay sa paglalarawan ng mga format.
  • at iba pa.

Ang pag-aaral ng mga katangian ng mga function at ang kanilang aplikasyon ay makabuluhang palawakin ang saklaw ng "Excel".

EXAMPLE 5

Subukan upang malutas ang mga mas kumplikadong mga problema ipaalam. Halimbawa:

Dan papel na dokumento ang aktwal na antas ng mga gastos ng ulat enterprise. Nangangailangan ng:

  • bumuo ng kanyang pattern bahaging ito sa pamamagitan ng spreadsheet "Excel";
  • gumawa ng isang VBA programa na humingi ng raw data upang punan ito, upang isagawa ang mga kinakailangang mga kalkulasyon at punan ang mga template ng kaukulang cell.

Isaalang-alang ang isa sa sumusunod na mga solusyon.

Ang paglikha ng isang template

Ang lahat ng mga aksyon ay ginanap sa isang karaniwang sheet sa Excel. Libre cells ay reserbado para sa pagpasok ng data sa buwan, taon, mga kumpanya title-consumer, ang halaga ng mga gastos, ang kanilang mga antas ng paglilipat ng tungkulin. Bilang ng bilang ng mga kumpanya (kumpanya), bilang respeto sa kung saan ang mga ulat ay hindi naitala, ang mga cell na gumawa ng sa batayan ng halaga at propesyonal na pangalan ay hindi na nakalaan nang maaga. Worksheet na nakatalaga sa isang bagong pangalan. Halimbawa, "Օ Report".

variable

Upang isulat ang mga programa ng awtomatikong punan ang mga template, piliin ang notation. Ang mga ito ay ginagamit para sa mga variable:

  • NN- number ng kasalukuyang hanay nang mesa;
  • TP at TF - binalak at aktwal na paglilipat ng tungkulin;
  • SF at SP - aktwal at nakaplanong kabuuang mga gastos;
  • IP at KUNG - binalak at aktwal na gastos na antas.

Magpakilala namin sa pamamagitan ng parehong mga titik, ngunit may isang "prefix» Itog akumulasyon kabuuan para sa hanay na iyon. Halimbawa, ItogTP - Sa pagsasaalang-alang sa column na pinamagatang, "ang nakaplanong paglilipat ng tungkulin."

Solusyon sa mga problema sa paggamit ng VBA programming

Paggamit ng pagtatanda na ito, makuha namin ang formula para sa pag-iiba. Kung nais mong isagawa ang kalkulasyon sa% mayroon kaming (F - P) / P * 100, at sa halagang - (F - P).

Ang mga resulta ng mga kalkulasyon ay maaaring maging pinakamahusay na lamang upang gumawa ng "Excel" spreadsheet sa naaangkop na mga cell.

Para sa mga kinalabasan at pagbabala sa katunayan nakuha sa pamamagitan ng mga formula ItogP = ItogP + P at ItogF = ItogF + F.

Para deviations gamitin = (ItogF - ItogP) / ItogP * 100 kung ang pagkalkula ay isinasagawa bilang isang porsyento, at kung ang kabuuang halaga - (ItogF - ItogP).

Ang mga resulta muling naitala sa naaangkop na mga cell, kaya hindi na kailangan upang magtalaga ng mga ito sa mga variable.

Bago simulan upang lumikha ng isang programa na nais mong i-save ang workbook, halimbawa, sa ilalim ng pangalan na "Otchet1.xls".

Pindutin ang "Gumawa ng isang pag-uulat table," kailangan mong pindutin lamang ng 1 oras pagkatapos ng pagpasok ng impormasyon ng header. Dapat mong malaman at iba pang mga patakaran. Sa partikular, ang pindutan ng "Magdagdag ng isang linya" ay dapat na pipi sa bawat oras pagkatapos na pumasok sa talahanayan ng mga halaga para sa bawat aktibidad. Matapos na ipasok ang lahat ng mga data na kinakailangan upang pindutin ang pindutan ng "Wakas", at pagkatapos ay lumipat sa "Excel" sa window.

Ngayon alam mo kung paano malutas ang mga gawain para sa Excel gamit ang macros. Ang kakayahang mag-apply ng vba excel (mga halimbawa ng mga programa, tingnan sa itaas) ay maaaring kinakailangan upang magtrabaho sa kapaligiran ng pinaka-popular na editor ng teksto na "Vord". Sa partikular, maaari mong isulat, tulad ng ipinapakita sa pinakadulo simula ng artikulo, o sa pamamagitan ng pagsulat ng code na lumikha ng mga pindutan ng menu, salamat kung saan maraming mga pagpapatakbo sa teksto ang maaaring isagawa sa pamamagitan ng pagpindot sa mga key o sa tab na "View" at ang "Macros" na icon.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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