OrdenagailuakSoftware

VBA Excel: lagin programak. Excel makroak

Jende gutxik ezagutzen ezagunaren Microsoft Excel produktuaren lehenengo bertsioa 1985an agertu zen. Ordutik, hainbat aldaketak eta mundu osoko milioika erabiltzailek eskaria jasan du. Hala ere, pixka bat kalkulu gaitasunak lan asko bakarrik eta ez dakite nola bizitza Excel programazio gaitasuna errazago egin ahal izan zuten.

Zer da VBA

Excel Programazioa Visual Basic eskaera programazio hizkuntza zen jatorriz Microsoft kalkulu orri ospetsuena eraiki egiten da.

Bere meritu To adituek egozten garapen erraztasuna erlatiboa. Praktika ikuskizunak, VBA oinarriak, nahiz eta ez duten profesionalak programazio trebetasunak erabiltzaile menderatzea. VBA For ezaugarrien artean gidoia bulegoko aplikazio ingurunean gauzatzea.

Programaren desabantaila bertsio desberdinak bateragarritasuna lotutako arazoak daude. Izan ere, VBA programaren kodea duen funtzionalitate hori produktuaren bertsio berria agertzen da, baina ez zaharra ere aipatzen eragiten dira. Halaber, bada desabantaila handi bat eta kode irekiagoak handiegia ezezagun baten aurpegia aldatzeko. Hala ere, Microsoft Office, eta IBM Lotus Orkestra bidez erabiltzaileak enkriptazioa sarrera kodea eta pasahitza ezarpenak aplikatzeko ikusteko.

Objektuak, bildumak, propietate eta metodo

kontzeptu horiek diren VBA ingurunean lanera joan direnen ulertu behar duzu dituena. Lehenik eta behin, zer objektu da ulertu behar duzu. Excel, Lege honen orri bat, liburu bat, eta zelula sorta gisa. Objektu horiek hierarkia bereziak dituzte, adibidez obeditu elkar.

Horien artean bidegorria aplikazioa, dagokion Excel programa bera da. Jarraian Liburuak, Worksheets eta barrutia. Adibidez, zelula A1 erreferentzia xafla zehatz bat bidean behar da kontuan hierarkia hartzeko.

"Bilduma," klase bereko objektuak talde hau, eta bertan, grabaketa da ChartObjects eman kontzeptuari dagokionez. Bere elementu halaber objektuak daude.

Hurrengo gauza - propietate. beharrezko objektuaren ezaugarri bat dira. Adibidez, barrutiaren lehenengo - Balio edo Formula da.

Metodoak - komandoa egin nahi duzula erakusteko. kodea idazten duzunean VBA objektu puntua horiek bereizi. Adibidez, geroago agertuko dira, askotan denean "Excel" erabilera Gelaxkak komandoa (1,1) .Select programazioa. beharrezkoa dela koordenadak zelula bat aukeratzeko esan nahi du (1,1), adibidez A1.

Hala ere, sarritan erabiltzen da Selection.ClearContents. Bere inplementazioa da hautatutako zelula edukiak garbitzen.

Nola hasi

Lehenik eta behin, fitxategia sortzeko eta gorde, izen bat esleitzeko eta hautatu makro-gaituta «Liburu Excel-mota nahi duzun."

Ondoren, VB aplikazio, hau da nahikoa «Alt» gakoa eta «F11» konbinazio bat erabili joan. Hurrengoa:

  • menu leihoaren goialdean barran, sakatu ikonoa Excel ikonoaren ondoan on;
  • Mudule hautatutako agindua;
  • mantentzeko, diskete batekin ikonoaren gainean klik eginez;
  • idatzi, esan, kode eskema bat.

honela dirudi:

Sub programa ()

'Gure kodea

end Sub

Kontutan izan line " 'Gure kodea" hori beste kolore (berdea) nabarmenduko dira. apostrofoa Horren arrazoia, katea, eta horrek adierazten zer jarraitzen duen lehen istorioa da hasieran entregatu.

Orain edozein kodea idatzi ditzakezu eta beraiek VBA Excel tresna berri bat sortu (ikus lagin programak. Eta abar). Jakina, direnak Visual Basic oinarriak ezagutzen, askoz errazagoa izango da. Hala ere, nahiz eta horiek ez dute, erosoa lortu nahiko azkar gai izan nahi baduzu.

Excel makroak

izen horren atzean ezkutatzen Aplikazioa hizkuntzaren Visual Basic idatzitako programak. Horrela, Excel programazio - da makro bat sortu nahi den kodearen. Gaitasun honen bidez, Microsoft kalkulu orri auto-garatzen, erabiltzaile jakin baten eskakizunei egokitzeko. Landu ondoren makro idazteko moduluak nola sortu batera, posible da VBA Excel programaren adibide zehatzak jarraitzeko. onenari oinarrizko kode batekin hasi da.

1. adibidea

Ataza: programa bat zelula baten edukien balioa kopiatu egingo da, eta gero beste bat idazteko idatzi.

Horretarako:

  • fitxa "Ikusi";
  • mugitu ikonoa "makro";
  • eta "Makro grabatu" astindu;
  • bete inauguratu inprimakia.

Lana errazteko, eta "Makro Izena" utzi "Makros1" eta "Shortcut giltza" sartuta dago, adibidez, hh (horrek esan nahi du abiarazi dezakezu adibidez programan «Ctrl + h» blitz taldeak izango dira). Prentsa Sartu.

Orain Makro grabatzen hasi duzu, osatzen dute zelula baten edukia bestera. Jatorrizko ikonoa itzuli. Egin klik "Makro grabatu" on. Ekintza hau applets amaitu markatzen.

Hurrengoa:

  • Berriro katea "Makroak" mugitzen;
  • dago zerrendan hautatutako "Makro 1";
  • klik "Run" (the KIMUAK laster-teklek bereko ekintza hasten «Ctrl + hh»).

Ondorioz, ekintza horrek du makro grabatzen zehar egin dira.

Zentzuzkoa da, nola kodea itxura ikusteko. Horretarako, joan katea "Makroak" atzera eta egin klik "editatu" edo "Sartu". Ondorioz, bere burua aurkitu dute VBA ingurunean. Egia esan, kodea bera da makro Makros1 Sub () eta End Sub-lerroak artean dago.

kopiatzea egin da gero, adibidez, zelula bat A1 zelula C1 batetik, kode lerro bat egingo tartea ( "C1") itxura. Aukeratu. Itzulpen honetan, badirudi "tartea (" C1 ") bezala. Aukeratu", bestela esanda, VBA Excel trantsizio bat, zelula C1 egiten du.

Kodea parte aktiboa taldeak ActiveSheet.Paste osatuko du. Hautatutako zelula (kasu honetan, A1) hautatutako zelula C1 edukiak grabatzen esan nahi du.

2. adibidea

VBA zikloak lagundu Excel makro ezberdinak sortzeko.

VBA zikloak lagundu makro ezberdinak sortzeko. Demagun ez dagoela funtzioa y a = x + x 3 + 3x 2 - cos (x). bere grafikoak egiteko makro bat sortu nahi duzu. Hau egin daiteke VBA zikloak erabiliz bakarrik.

Argumentu funtzioen hasierako eta amaierako balioa For hartu x1 = 0 eta x2 = 10. Bestalde, beharrezkoa da konstante bat aurkeztera - Urrats balioa argumentua eta kontra egiteko hasierako balioa aldatzen.

VBA Excel makro adibide guztiak arestian azaldu den bezala prozedura berdina erabiliz sortzen dira. Kasu honetan, kodea itxura:

Sub programa ()

x1 = 1

x2 = 10

ubarroi = 0.1

i = 1

Ez bitartean x1

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

Pilak (i, 1) .Value = x1 (x1 balio memorian idatzitako koordenatuak (i, 1))

Pilak (i, 2) .Value = y (y balio zelula idatzita dago koordenadak (i, 2))

i = i + 1 (baliozko zenbaketa);

x1 = x1 + ubarroi (argumentu da urrats tamaina aldatu);

Loop

End Sub.

y to - run makro honen ondorioz "Excel" bi zutabe, lehenengo horren balioak ez dira grabatzen x, eta bigarrena lortzeko.

Ondoren antolatzeko horien gainean eraikitzeko, estandarra "Excel" egiteko gai.

3. adibidea

zikloak ezartzeko VBA Excel 2010, baita beste bertsio batean, dagoeneko murriztu Do batera erabili diseinu bitartean.

Demagun zutabe bat sortzen duen programa bat. zelula bakoitzean, bertan grabatu egingo lauki dagokion lerroa zenbakia. diseinua erabiltzeko da grabatzeko oso laburki, kontagailu bat erabili gabe uzten dira.

Lehen beharrezkoa da makro bat sortzeko, goian azaldu dugun bezala. Hurrengoa, idatzi kode bera. 10 zelulak balioak interesatzen zaigu uste dugu. kodea honako hau da.

I = 1, 10 Hurrengoa

Komandoa da "giza" hizkuntza transferitu, bezala "1-tik errepikatu eta 10 bat zatituko."

Zeregin plaza zutabean jaso nahi baduzu, adibidez, 1 eta 11 arteko zenbaki osoko bakoitiak guztiak, idatzi dugu:

i = 1, 10: 1. urratsa Next da.

Hemen, urrats - Urrats. Kasu honetan, bi berdina da. Berez, begizta batean hitzaren eza urrats bakar bat esan nahi du.

Emaitzek zelula kopurua (i, 1) gordeta egon behar. Gero, denbora guztietan balioaren gehikuntza batekin zikloa hasten zarenean of urratsez i automatikoki hazten da eta lerro zenbakia. Horrela, bada kode optimizazioa izango da.

Oro har, kodea itxurarik litzateke:

Sub programa ()

i = 1 To 10 Step 1 (idatziz baino ezin i For = 1 eta 10)

Pilak (i, 1) .Value = i ^ 2 (adibidez, balio karratuko ziegan sartu idatzita dago (i, 1) i)

Next (zentzu batean, kontra bitarteko eta beste ziklo hasieran papera egiten du)

End Sub.

Behar bezala egiten badu, grabaketa eta korrika makro (ikus. Argibideak goian) barne, ondoren, aldi bakoitzean tamaina jakin bat lortuko da zutabea (kasu honetan 10 zelula osatzen da) deitzen da.

4. adibidea

Eguneroko bizitzan, askotan beharrezkoa da hau edo erabakia hartzeko baldintza batzuk arabera. Ezin da horiek gabe VBA Excel. programen adibide non algoritmoa ikastaro gehiago ordez hautatu da hasiera batean, aldez aurretik, bada diseinuak gehien erabiltzen ... Gero (kasu zail jartzeko) Bada ... Orduan ... END bada.

Demagun kasu jakin. Demagun "Excel" makro bat sortzeko koordenadak zelula (1,1) grabatu nahi duzun:

1 argumentua positiboa bada;

0 argumentua zero bada;

1, argumentu negatiboa bada.

"Excel" besteak beste, makro bat sortzea modu estandar bat hasten da, "beroa" gakoak Alt eta F11 erabileraren bidez. Aurrerago idatzitako kode hau:

Sub programa ()

x = Cells (1, 1) .Value (Komando honek x zelula edukiak koordenadak balioa (1 ematean, 1))

x> 0 Gero Cells (1, 1) .Value = 1 bada

Bada x = 0 Orduan Cells (1, 1) .Value = 0

x <0 Gero Cells (1, 1) .Value = -1 bada

End Sub.

Makro bat nahi diren balio exekutatu eta in "Excel" lortu argudioa alde jarraitzen du.

VBA funtzio

konturatuko ahal izango dute bezala, ospetsuena programa Microsoft kalkulu orri aplikazioan ez da zaila. VBA funtzio erabiltzen ikasteko batez ere. Guztira, programazio hizkuntza hau sortu zehazki aplikazioetan idaztea "Excel" eta Hitza, funtzio 160 inguru da. hainbat talde handitan egon ziren banatu daiteke. Hauek dira:

  • funtzio matematiko. aplikatuz kosinu balioaren argumentua to lortzen da, eta logaritmo naturala, eta hala parte osoa.
  • Finantza funtzioak. Ondorioz, beren erabilgarritasuna eta erabilera Excel programazioa, tresna eraginkorrak kontabilitate eta finantza-likidazioak egiteko lortu ahal izango dituzu.
  • Array prozesatzeko funtzioak. Horien artean, Array, IsArray; LBound; UBound.
  • VBA Excel line egiteko funtzionatuko. Hau talde nahiko handi bat da. sartzen da, adibidez, Space funtzioa hutsuneak zenbaki oso argumentu edo Testu osoa transferentziak ikurrak ANSI kode berdina zenbaki batekin kate bat sortzeko. Guztiek asko erabiltzen dira, eta hemen "Excel" kateak aplikazio askoz errazagoa da taula hauek batera lan egiterako lan egiteko aukera ematen dute.
  • Datu motak bihurtzeko funtzioak. Adibidez, CVar Adierazpen argumentu itzultzen, bihurtzeko Aldaera datu-mota da.
  • Data funtzioak. asko zabaldu dira "Excel" ezaugarri estandarra. Beraz, WeekdayName funtzioa izena (osoa edo partziala) asteko egun bere zenbakia arabera itzultzen du. Are gehiago erabilgarria da tenporizadorea da. duten gauerdia igaro eguneko une jakin batean segundu kopurua ematen zuen.
  • Funtzionatu zenbakizko argumentu bat bihurtzeko zenbaki-sistema desberdinetan. Adibidez, aza kopurua irudikapen octal to irteerak.
  • formatu-funtzioak. Horien artean garrantzitsuena formatua da. Aldaera bat itzultzen ditu formatua deskribapena emandako argibideak arabera formateatuta adierazpen batekin.
  • eta abar.

funtzio horiek eta beren aplikazio propietate azterketa egingo du nabarmen zabaldu "Excel" esparrua.

ADIBIDEA 5

Dezagun saiatu arazo konplexuagoak ebazteko. Adibidez:

Dan paper dokumentu enpresa txostenaren kostuak maila benetako. eskatzen du:

  • garatzen du bere eredua zati spreadsheet "Excel" da;
  • VBA programa bat da datu gordin hura betetzeko, beharrezko kalkuluak burutzeko eta dagokion zelula plantilla bete eskatu du egin.

Demagun honako soluzio bat.

txantiloi bat sortzea

Ekintza guztiak Excel orri estandar baten gainean egiten dira. Free zelulak datuak sartuz erreserbatuta hilabetea, urtea, izenburua-kontsumo enpresak, kostuen zenbatekoa, beren fakturazioaren maila. enpresei (enpresa), kopuruaren errespetu horren txostena ez da erregistratutako bezala, zelulak balio eta izen profesionala oinarria ez da aldez aurretik erreserbatuta on egin. Lan-izen berri bat esleitzen. Adibidez, "Օ txostena".

aldagai

programa automatikoki plantilla bete idazteko, hautatu idazkera. Dute aldagai erabiliko dira:

  • NN- egungo mahai ilara-kopurua;
  • TP eta TF - planifikatu eta benetako fakturazioa;
  • SF eta SP - benetako eta aurreikusitako guztira kostuak;
  • IP eta IF - planifikatu eta benetako kostuak maila.

adierazteko dugu gutunak beraren arabera, baina "zeinua» Itog metaketa zutabean horretarako osoz. Adibidez, ItogTP - zutabean dagokionez izenburupean, gisa "aurreikusitako fakturazioa."

Arazoa VBA programazio erabiliz Irtenbidea

idazkera hau erabiliz, bariantza formula lortuko dugu. Kalkulu burutzeko% nahi baduzu ditugu (F - P) / P * 100, eta zenbatekoa - (F - P).

Kalkulu horien emaitzak onena besterik "Excel" kalkulu-orriko egiteko zelula egokiak izan daitezke.

Emaitza eta pronostikoa izan ere formulak by ItogP = ItogP + P eta ItogF = ItogF + F. lortzen For

For desbideratzen erabili = (ItogF - ItogP) / ItogP * 100 kalkulua egiten bada ehuneko gisa, eta guztira balioa bada - (ItogF - ItogP).

Emaitzek berriro zelula egokia grabatu, beraz, ez dago haiek esleitzeko aldagai beharrik.

programa bat sortzeko hasi aurretik liburu gordetzeko, adibidez, izena "Otchet1.xls" atalean nahi duzun.

Prentsa "Sortu berri-mahai bat," denbora 1 bakarrik sakatu behar duzu goiburua informazioa sartu ondoren. Jakin behar duzu, eta beste arau. Bereziki, botoia "Gehitu lerro bat" sakatu behar den bakoitzean, jarduera bakoitzaren balioen taula sartu sartu ondoren. botoia "Amaitu" sakatu, eta ondoren "Excel" aldatzeko leihoan beharrezkoa datu guztiak sartu ondoren.

Orain nola arazoa konpontzeko Excel makro ezagutzen duzula. VBA erabiltzeko gaitasuna Excel (ikus lagin programak. Above) eta ezagunenetako ingurumena Oraingoz, testu editorea at lan egiteko behar izatea "Word". Bereziki,, grabaketa erakutsi artikulu honen hasieran bezala, edo kodea idatziz menu botoiak testua eragiketa asko horren bidez guardiako edo "Ikusi" ikonoa eta "Makroak" fitxa bitartez teklak egin daiteke sortzeko.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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