Kombiyuutarada, Software
VBA Excel: Barnaamijyada muunad. Macros ee Excel
Dad yar ogahay in version ugu horeysay oo ka mid ah wax soo saarka Microsoft Excel caan muuqday 1985. Tan iyo markaas waxa uu maray dhowr beddelka iyo baahida malaayiin isticmaale adduunka oo dhan. Si kastaba ha ahaatee, dad badan oo shaqada oo keliya a awoodaha xoogaa yar isbiriidhshiit this iyo xitaa ma oga sida ay u dhigi kara nolosha ka hawl awood u leh inay barnaamijyo Excel.
Waa maxay VBA
Barnaamijyada ee Excel waxaa loo sameeyaa by Visual aasaasiga ah ee Codsiga afka barnaamijyada in markii hore la dhisay isbiriidhshiit ugu caansan ka Microsoft.
Si uu mudnaan khubaro u yeelaan istareexsan qaraabo ah horumarinta. Sida dhaqanka shows, VBA u yaqaaniin karo aasaaska, xataa dadka isticmaala dadka aan lahayn xirfadaha barnaamijyo xirfadeed. Waayo, VBA sifooyinka waxaa ka mid ah dil script jawi codsiga xafiiska.
Faa'iida barnaamijka jira dhibaatooyin la xiriira waafaqid ee versions kala duwan. Waxaa sababa xaqiiqda ah in code VBA barnaamijka loola jeedaa ka shaqeynayaan in waxa ay joogtaa version cusub ee alaabta, laakiin ma aha in mid ka mid ah jirka. Sidoo kale waxaa jira khasaaro weyn iyo furfurnaanta xad-dhaafka sare ee code kale u beddelo aawadeed qalaad. Si kastaba ha ahaatee, Microsoft Office, iyo IBM IBM Symphony ogolaanaya dadka isticmaala si aad u dalbato encryption code entry iyo password goobaha si ay u arkaan.
Walxaha, uruuriyaa, guryaha, iyo hababka
Waa kuwan fikrado aad u baahan tahay si ay u fahmaan kuwa u shaqeyn jawi VBA ah. First of dhan, waa in aad fahanto waxa shayga waa. In Excel, in falkan sida shiraaq, buug, oo kala duwan cell. walxaha waxay leeyihiin madaxda gaar ah, i.e. kasta oo kale oo Adeeca.
Chief iyaga ka mid ah waa Codsiga, barnaamijka Excel dhiganta laftiisa. Buugaag raacay, Warqadaha, iyo Range. Tusaale ahaan, in ay tixraac cell A1 xaashi gaar ah farta jidkii, iyada oo la tixgelinayo madaxda.
Ku saabsan fikradda ah "ururinta," kooxdan oo ah shay ka mid ah fasalka la mid ah, kaas oo lagu qoro waxaa la siiyaa ChartObjects. xubno Its sidoo kale waa shay.
wax Next - guryaha. Waxay yihiin feature ah oo lagamamaarmaan ah shay kasta. Tusaale ahaan, waayo Range ah - waa Qiimaha ama Formula.
Hababka - waa amarkii si ay u muujiyaan in aad rabto in aad. Marka qoraal code in VBA iyaga laga sooco dhibic shayga. Tusaale ahaan, sida la soo bandhigi doonaa dambe, marar aad u badan marka barnaamijyadooda ee amarka "Excel" isticmaalka Unugyada (1,1) .Dooro. Waxaa loola jeedaa in ay lagama maarmaan tahay in ay doortaan gacanta la wadataa (1,1), i.e. A1.
Si kastaba ha ahaatee, waxaa inta badan loo isticmaalaa Selection.ClearContents. Its fulinta waxa nadiifinta ka kooban gacanta ku soo xulay.
Sidee si ay u bilaabaan
First of dhan, aad rabto in aad la abuuro faylka iyo badbaadin, meeleeyo magac dooro nooca «Kitaabka Excel Dhaqale-karti."
Markaas, tag codsiga VB ah, taas oo ku filan si ay u isticmaalaan iskujir ah «Alt» muhiimka ah iyo «F11». Next:
- in bar menu ugu sareysa ee suuqa kala ah, riix icon soo socda in icon Excel ah,
- Mudule soo xulay taliska;
- sii riixaya icon la disk ah kumbiyuutarka,
- ku qor, oo waxaad tidhaahdaan, dulmar code a.
Waxa ay u muuqataa sida soo socota:
Barnaamijka Sub ()
'Our code
Sub End
Fadlan la soco in laynka " 'Our code" in la muujiyaa doonaa midab ka duwan (cagaaran). Sababta hamso this, u dhiibay bilowgii xarig ah, taas oo muujinaysaa in waxa soo socota waa a comment.
Hadda waxaad ku qori kartaa code kasta oo abuuri naftooda aalad cusub ee VBA Excel (eeg barnaamijyada muunad IWM.). Dabcan, kuwa u yaqaanaan waxyaabaha aasaasiga ah ee Visual Basic, waxa ay noqon doontaa wax badan ka sahlan. Si kastaba ha ahaatee, xataa kuwa aan haysan, haddii aad rabto si ay u awoodaan si ay u helaan raaxo si degdeg ah.
Macros ee Excel
magacan Behind dhuuntaa barnaamijyada ku qoran aasaasiga ah Visual luqad Codsiga. Sayidka, barnaamijyo si Excel - waa in la abuuro Dhaqale ah in code la doonayo. Iyada oo awood this, Microsoft isbiriidhshiit is-yeesho, qabsado shuruudaha user gaar ah. Iyadoo la macaamilooday sida si ay u abuuraan modules qoro macros, waxaa suurtagal ah in ay ku talaabsato tusaalayaal la taaban karo ee barnaamijka VBA Excel. Waxaa aad u fiican in lagu bilaabo u codes aasaasiga ah.
TUSAALE 1
Hawl: Ku qor barnaamij koobi doonaa qiimaha ka kooban hal unug ka dibna ku qor in kale.
Si arrintan loo sameeyo:
- furo tab ah "View";
- guurto ah "macros" icon;
- rux si ay "yar yar Record";
- buuxi foomka furay.
Wixii xog la ', ee "Name yar yar" ka tago "Makros1" iyo "muhiimka ah toobiye" la geliyo, tusaale ahaan, HH (taas macnaheedu waa inaad ordi karaan barnaamijka Tusaale ahaan waxay noqon doontaa «Ctrl + h» Kooxda dhantaalay). Press gala.
Hadda oo aad bilowday diiwaan Dhaqale ah, ka samaysan waxyaabaha gacanta in kale. Ku noqo icon asalka ah. Click on the "yar yar Record". Tallaabadan waxaa ka dhigan dhamaystirka applets.
Next:
- mar kale u dhaqaaqo xarig ah "Macros";
- la doorto ee liiska "yar yar 1";
- ku dhufo "Orod" (action bilaaban isla bilaabay furayaasha toobiye «Ctrl + HH»).
Sidaas darteed, tallaabada taas oo lagu soo sameeyay intii lagu qoro Dhaqale ah.
Waxa macno si aad u aragto sida ay xeerka u eg. Si arrintan loo sameeyo, ku noqo xarig ah "Macros" iyo guji "Edit" ama "gala". Sidaas darteed, waxay isku arkaan jawi VBA ah. Dhab ahaantii, code laftiisa waxa uu ku yaalaa inta u dhaxaysa khadadka Sub Makros1 Dhaqale () iyo Sub End.
Haddii koobiyeynta ayaa lagu sameeyaa, tusaale ahaan, ka gacanta A1 ee C1 cell, mid ka mid ah khadadka of code eegi doonaa sida Range ( "C1"). Xulo. In turjumidda, waxa ay u muuqataa sida "Range (" C1 "). Dooro", si kale loo dhigo, ka dhigaysa kala guurka ah si ay VBA Excel, in C1 cell.
qayb firfircoon ee xeerka dhameystiraya kooxda ActiveSheet.Paste. Waxaa laga wadaa in lagu qoro waxyaabaha soo xulay cell (kiiskan, A1) ee C1 ee gacanta soo xulay.
TUSAALE 2
wareegyada VBA caawin abuuro macros kala duwan ee Excel.
wareegyada VBA caawin abuuro macros kala duwan. U qaadan in ay jirto y shaqo a = x + x 3 + 3x 2 - sababtoo ah (x). Waxaad doonaysaa in la abuuro Dhaqale ah muuqaallo kale ay. Taas waxaa la samayn karaa oo keliya iyadoo la isticmaalayo wareegyada VBA.
Waayo, qiimaha bilowga iyo final of hawlaha muran qaadan x1 = 0 iyo x2 = 10. Intaas waxaa sii dheer, waxaa lagama maarmaan ah inay soo bandhigto joogto ah - qiimaha for tallaabo ku beddeshay muran iyo qiimaha hore ee miiska.
All tusaalooyin macros VBA Excel waxaa la abuuray isticmaalaya hab la mid ah sida ku xusan kor. In kiiska gaar this, xeerka u eg:
programm Sub ()
x1 = 1
x2 = 10
shag = 0.1
i = 1
Ha Iyadoo x1
y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Koos (x1)
Unugyada (i, 1) .Value = x1 (qiimaha x1 qoran xasuusta la wadataa ah (i, 1))
Unugyada (i, 2) .Value = y (y qiimaha ku qoran gacanta la wadataa ah (i, 2))
i = i + 1 (count ansax ah);
x1 = x1 + shag (xuja ah waxaa beddelay si ay u size tallaabada);
loop
Sub End.
Sidaas darteed of Dhaqale baxsad this "Excel" hesho laba tiirar, kuwii hore ka mid ah, kuwaas oo loo diiwaan qiimaha x, oo kii labaadna wuxuu ahaa - in y.
Markaas balan awoodaan si ay u dhisaan iyaga on, heerka for "Excel".
TUSAALE 3
Si loo fuliyo wareegyada ee VBA Excel 2010, iyo sidoo kale in qoraalkii kale, oo ay la socdaan Do ay horey u dhimay Iyadoo design isticmaalo Waayo.
Ka fiirso barnaamijka oo abuuri column ah. In cell walba waa la duubi doono god oo u dhiganta tirada line. Waayo, isticmaalka design u ogolaan doonaa in ay qoraan si aad u kooban, iyada oo aan isticmaalka counter ah.
First waxaa lagama maarmaan ah in la abuuro Dhaqale ah, sida kor lagu sharaxay. Next, ku qor code laftiisa. Waxaan rumaysan nahay inaynu ku mashquulsan yihiin qiyamka ee 10 unugyada. code waa sida soo socota.
Waayo, i = 1 ilaa 10 Next
Amarka waxaa lagu wareejiyay luqada "aadanaha", sida "noqnoqda 1 ilaa 10 ee isabdal ah mid ka mid ah."
Haddii hawsha si ay u helaan column la god oo, tusaale ahaan, dhammaan abyoonayaasha cajiib ah u dhexeeya 1 iyo 11, inaynu u qorno:
Waayo, i = 1 ilaa 10 talaabo 1 Next.
Halkan, tallaabo - talaabo. Xaaladdan oo kale, waa loo siman yahay laba. By default, maqnaanshaha eraygii in loop ka dhigan tahay, in talaabo kaliya.
Natiijooyinku waxay u baahan yihiin in lagu kaydiyaa tirada unugyada (i, 1). Markaasaa mar kasta oo aad bilowdo wareegga la kordhiyo qiimaha i talaabo si toos ah kori doono iyo tirada line. Sidaas darteed, waxaa jiri doona ayna code.
Guud ahaan, xeerka u ekaan lahaa sida:
Barnaamijka Sub ()
Waayo, i = 1 Si 10 Tallaabada 1 (waxaa loo qori karaa oo keliya, waayo, i = 1 Si 10)
Unugyada (i, 1) .Value = i ^ 2 (i.e. qiimaha square ku qoran tahay gacanta (i, 1) i)
Next (dareen kaalin ee hab counter ah iyo mid kale oo ku bilowday wareegga)
Sub End.
Haddii si sax ah samayn, oo ay ku jiraan wax lagu qoro iyo orodka macros (eeg. Tilmaamaha kor ku xusan), ka dibna waxa la yidhaahdaa waa mar kasta oo size a siiyo waxaa laga heli doonaa column (haddii ay taasi ku kooban 10 unugyada).
TUSAALE 4
In nolol maalmeedka, marar aad u badan waxaa lagama maarmaan ah in ay ama in go'aan qaadan ku xiran tahay xaaladaha qaarkood. ma aan samayn karo iyaga oo aan in VBA Excel. Tusaale ahaan barnaamijyada meesha koorsada dheeraad ah ee geynta ee la doorto halkii markii hore loo dejiyay, ugu design caadi ahaan loo isticmaalo of Haddii ... Markaas, (waayo, xaaladaha adag) Haddii ... Markaas ... END Haddii.
Tixgeli kiiska gaar ah. Ka soo qaad in aad rabto in aad la abuuro Dhaqale a for "Excel" in gacanta la isku ah (1,1) ayaa la diiwaan geliyay:
1 haddii muran waa wanaagsan;
0 haddii muran waa eber,
1, haddii muran uu yahay mid diidmo.
abuurista Dhaqale a for "Excel" sida uu bilaabo hab caadiga ah, iyadoo la adeegsanayo furayaal "kulul" Alt iyo F11. Dheeraad ah oo ku qoran xeerka soo socda:
Barnaamijka Sub ()
x = Unugyada (1, 1) .Value (Amarkani waxa uu ku meelaynayaa qiimaha wadataa x ku jira gacanta (1, 1))
Haddii x> 0 Markaas Unugyada (1, 1) .Value = 1
Haddii x = 0 Markaas Unugyada (1, 1) .Value = 0
Haddii x <0 Markaas Unugyada (1, 1) .Value = -1
Sub End.
Waxaa weli in uu ordo Dhaqale iyo hesho "Excel" qiimaha jeclaystay doodda.
hawlaha VBA
Sida laga yaabo in aad dareentay, barnaamijka codsiga isbiriidhshiit Microsoft ugu caansan ma aha mid aad u adag. Gaar ahaan haddii aad bartaan sida loo isticmaalo hawlaha VBA. Guud ahaan, luqad barnaamijyada this gaar ah abuuray qoraal codsiyada in "Excel" iyo Word, oo ku saabsan 160 hawlaha. Waxay loo qaybin karaa dhowr kooxood oo waaweyn. Waxay kala yihiin:
- hawlaha xisaabta. iyaga Codsashada muran ah ee qiimaha cosine la helay, logarithm dabiiciga ah, oo sidaas qayb ka mid ah oo dhan.
- hawlaha dhaqaale. Maaddaama ay barnaamijyadooda helitaanka iyo isticmaalka ee Excel, waxaad ka heli kartaa qalabka wax ku ool ah, waayo, xisaabaadka iyo degsiimooyinka dhaqaale.
- hawlaha processing Array. Kuwaas waxaa ka mid Array, IsArray; LBound; UBound.
- VBA Excel shaqayn waayo laynka. Tani waa koox caddaalad ah oo waaweyn. Waxaa ka mid ah, tusaale ahaan, shaqo Space si ay u abuuraan string la tiro ka mid ah farqiyada u siman yihiin in muran abyoonaha ama calaamado kala iibsiga ASC in code ANSI. Dhamaan iyaga ka mid ah waa loo isticmaalo iyo oggolaadaan in aad si ay ula xadhig leh ee "Excel" in la abuuro codsiyada inta badan ka sahlan in la looxyada shaqeeyaan shaqeeyaan.
- hawlaha diinta nooca Data. Tusaale ahaan, CVar laabtay muran Expression, u beddelaya nooca xogta duwanaansho.
- Taariikhda hawlaha. Waxay si weyn u ballaariyo qaababka caadiga ah ee "Excel". Sidaas daraaddeed, function WeekdayName laabtay magaca (buuxa ama qayb ahaan) maalinta toddobaadka by ay tirada. Xitaa ka badan oo faa'iido leh waa Saacad ah. Waxa uu ku siinayaa tirada ilbiriqsi in ay dhibtu tan iyo saqda dhexe in la joogo gaar ah maalintii.
- Shaqeeyaan si loogu badalo dood tiro ee nidaamyada tiro kala duwan. Tusaale ahaan, Oct soo saarka si ay wakiil octal tirada.
- hawlaha formatting. Ugu muhiimsan ee ka mid ah kuwan waa Format ah. Waxa soo laabtay duwanaansho la hadal ah formatted si waafaqsan tilmaamaha la siiyay in sharaxaad ka mid ah qaabka.
- iyo si bixi.
Baadhitaanka ayaa ka mid ah guryaha oo ka mid ah hawlaha iyo codsigooda si weyn u ballaarin doonto baaxadda "Excel".
TUSAALE 5
Aan isku dayno si ay u xaliyaan dhibaatooyin badan oo adag. Tusaale ahaan:
Dan dokumenti warqad heerka dhabta ah ee kharashka warbixinta shirkada. wuxuu u baahan yahay:
- horumariyo qayb hannaankii ay by isbiriidhshiit "Excel";
- sameeyaan barnaamijka VBA in weydiin doonaa xogta ceeriin in ay buuxiso, si ay u fuliyaan xisaabin lagama maarmaanka ah iyo buuxi template ah ee gacanta u dhigma.
Tixgeli mid ka mid ah xalka soo socda.
Abuuritaanka template ah
tallaabooyinka oo dhan waa la wada oofiyey on sheet caadiga ah ee Excel. unugyada Free loogu talogalay galaya xog ah oo ku saabsan bil, sanad, shirkadaha horyaalka macaamiisha, xaddiga kharashka, heerka dakhli. Sida tirada shirkadaha (shirkadaha), in la ixtiraamo oo warbixinta aan la duubay, unugyada si uu u sameeyo oo ku saleysan qiyamka iyo magaca xirfad aan loo hayaa ka hor. Warqadda loo xilsaaray in ay magac cusub. Tusaale ahaan, "Օ Report".
doorsoomayaasha
Si aad u qoro barnaamijka si toos ah buuxi template ah, dooro sal ah. Waxay waxaa loo isticmaali doonaa doorsoomayaasha ah:
- NN- tirada safka hadda miiska;
- TP iyo TF - qorshaysan iyo isbeddelkaas dhabta ah,
- SF iyo SP - kharashyada dhabta ah oo la qorsheeyey total,
- IP iyo HADDII - qorshaysan iyo heerka kharashka dhabta ah.
Waxaan yeero by xarfaha isku mid ah, laakiin "Horgalaha» Itog total raasamaal for column in a. Tusaale ahaan, ItogTP - Iyadoo la tixgelinayo tiirka xaq, sida "isbeddelkaas la qorsheeyay."
Xalka dhibaatada la isticmaalayo barnaamijyada VBA
Isticmaalka sal this, waxaan ka heli formula ee kala duwanaanshaha. Haddii aad rabto in aad si ay u fuliyaan xisaabinta in% waxaan leenahay (F - P) / P * 100, iyo in xaddiga - (F - P).
Natiijada xisaabaha u noqon karaan sida ugu fiican oo kaliya in ay sameeyaan "Excel" isbiriidhshiit in unugyada ku haboon.
Waayo, natiijada iyo saadaal dhab ahaantii helay qaaciidooyinka ItogP = ItogP + P iyo ItogF = ItogF + F.
Waayo, leexashooyinkaasi isticmaali = (ItogF - ItogP) / ItogP * 100 haddii xisaabinta waxaa lagu fuliyaa sida boqolkiiba, iyo haddii qiimaha wadarta - (ItogF - ItogP).
Natiijada ayaa mar kale la duubay ee unugyada ku haboon, sidaa darteed looma baahna in ay iyaga u yeelaan doorsoomayaasha.
Ka hor inta aadan bilaabin in la abuuro barnaamij aad rabto in aad si loo badbaadiyo buugga, tusaale ahaan, ka yar magaca "Otchet1.xls".
Press "Create miiska warbixinta ah," Waa in aad riixdo 1 kaliya waqti ka dib markii galaya macluumaadka madax ka. Waa in aad ogaato iyo xeerarka kale. Gaar ahaan, badhanka "Add a line" waa in la sii cadaadisay mar kasta oo dib miiska qiimaha hawl kasta. Ka dib markii galaya dhammaan xogta looga baahan yahay inay riix badhanka "Finish", ka dibna u baddashaan "Excel" furmo.
Hadda oo aad ogtahay sida ay u xaliyaan dhibaatada ee Excel la macros. Awoodda in ay isticmaalaan vba Excel (eeg barnaamijyada muunad. Kor) oo laga yaabaa in aad u baahan tahay in ay ka shaqeeyaan deegaan oo ka mid ah kuwa ugu caansan xilligan, editor qoraalka "Word." Gaar ahaan, by lagu qoro, sida ku cad Bilowgii qodobkan, ama qoraal code in la abuuro badhamada menu kaas oo qaar badan oo ka mid ah hawlaha ku saabsan qoraalka ah waa la samayn karaa adigoo riixaya furaha heeganka, ama iyada oo "View" icon iyo "Macros" tab ah.
Similar articles
Trending Now