KompiuteriaiPrograminė įranga

VBA Excel ": Sample programas. Makrokomandas Excel

Nedaug žmonių žino, kad pirmoji versija populiaraus Microsoft Excel produkto pasirodė 1985 m. Nuo tada ji buvo atlikta keletas pakeitimų ir paklausos milijonų vartotojų visame pasaulyje. Tačiau tik daug dirbti su trupučiu galimybes šią skaičiuoklę ir net nežinau, kaip jie galėtų palengvinti gyvenimą už galimybę tobulėti programavimą.

Kas yra VBA

Programavimas Excel daroma Visual Basic for Application Programming kalba, kad iš pradžių buvo pastatytas garsiausių skaičiuoklę "Microsoft".

Jo nuopelnus ekspertai priskiria santykinį paprastumą plėtrai. Kaip rodo praktika, VBA gali įsisavinti pagrindus, net vartotojams, kurie neturi profesinių programavimo įgūdžių. Dėl VBA funkcijos apima skripto vykdymo biure paraiškos aplinkoje.

Programos trūkumas yra problemų, susijusių su skirtingų versijų suderinamumą. Jie atsiranda dėl to, kad VBA kodą programos daroma nuoroda į funkcionalumą, esantis naujos redakcijos produkto, bet ne senąjį. Taip pat yra didelis trūkumas ir pernelyg didelis atvirumas kodas pakeisti svetimas veidas. Tačiau "Microsoft Office" ir "IBM Lotus Symphony leidžia vartotojams taikyti šifravimo įrašas kodą ir slaptažodį nustatymus, kad matytumėte tai.

Objektai, kolekcijos, skelbimai, ir metodai

Būtent šių sąvokų jūs turite suprasti tiems, kurie ketina dirbti VBA aplinkoje. Pirmiausia, jūs turite suprasti, kas objektas yra. Excel, šiame akte, kaip lape, knygos, ir ląstelių diapazone. Šie objektai turi ypatingą hierarchiją, t.y. paklusti tarpusavyje.

Vyriausiasis tarp jų yra taikymas, atitinkama "Excel pati programa. Po darbaknyges lapus, ir klasės. Pavyzdžiui, kreiptis į langelį A1 dėl konkretaus lapo turi būti nukreipta į kelią, atsižvelgiant į hierarchiją.

Kalbant apie "kolekcijos", tai objektų tos pačios klasės grupės, kurioje įrašymas tikrą ChartObjects koncepciją. Jos elementai yra taip pat objektus.

Kitas dalykas - savybės. Jie yra būtinas bruožas bet kokio objekto. Pavyzdžiui, už spektrui - tai vertė arba formulė.

Metodai - tai komanda parodyti, kad norite padaryti. Rašydami kodą VBA juos būtų galima atskirti nuo objekto taško. Pavyzdžiui, kaip bus parodyta vėliau, labai dažnai, kai programavimu "Excel" naudoti Cells komanda (1,1) .Pasirinkite. Tai reiškia, kad ji yra būtina pasirinkti vienoje kameroje su koordinatėmis (1,1), t.y. A1.

Tačiau jis dažnai naudojamas Selection.ClearContents. Jos įgyvendinimas yra kliringo pasirinktos langelio turinį.

Kaip pradėti

Pirmiausia, jūs norite sukurti failą ir išsaugokite jį, priskirti vardą ir pasirinkite «knygų Excel tipo makro įjungtas."

Tada eikite į VB taikymo, kuris yra pakankamai naudoja «Alt» Pagrindinės ir «F11» derinys. Kitas:

  • meniu juostoje lango viršuje, spustelėkite šalia Excel piktogramą piktogramos;
  • Mudule pasirinktas komandą;
  • laikyti paspaudę ant piktogramos su diskelio;
  • parašyti, tarkim, kodo metmenis.

Jis atrodo taip:

Sub programa ()

"Mūsų kodas

end Sub

Atkreipkite dėmesį, kad linija " 'Mūsų kodas" bus paryškintas kita spalva (žalia). Priežastis dėl šios kabutes, pristatytas į eilutę, kuri rodo, kad tai, kas taip yra komentaras pradžioje.

Dabar galite rašyti bet kodą ir kurti sau naują įrankį, VBA Excel (žr programų pavyzdžius ir kt.). Žinoma, tie, kurie yra susipažinę su Visual Basic pagrindai, ji bus daug lengviau. Tačiau net ir tie, kurie neturi, jei norite, kad būtų galima gauti patogiai gana greitai.

Makrokomandas Excel

Už šio vardo slepiasi programas Visual Basic for Application kalba. Taigi, programavimas Excel - yra sukurti makrokomandą į norimą kodą. Su šia galimybe, "Microsoft skaičiuoklės savarankiškai projektuoja, prisitaikyti prie konkretaus vartotojo reikalavimus. Išnagrinėję kaip sukurti modulius rašyti makrokomandas, tai galima elgtis su konkrečiais pavyzdžiais, VBA Excel programa. Tai geriausia pradėti nuo svarbiausio kodus.

1 PAVYZDYS

Užduotis: Parašykite programą, kuri bus nukopijuoti iš vienos ląstelės turinį vertę ir tada rašyti į kitą.

Norėdami tai padaryti:

  • atidaryti skirtuką "View";
  • perkelti piktogramą "makrokomandas";
  • purtyti į "Record Macro";
  • užpildykite atidarytas formą.

Kad būtų paprasčiau, į "makrokomandos pavadinimą" palikti "Makros1", o "spartusis klavišas" įterpiamas, pavyzdžiui, HH (tai reiškia, kad jūs galite paleisti pavyzdys programa bus «Ctrl + H» Blitz komanda). Paspauskite Enter.

Dabar, kad jūs pradėjote įrašymo makro, atsigriebti Mobilaus turinį į kitą. Grįžti į pradinį piktogramą. Spauskite ant "Record Macro". Šis veiksmas žymi programėles užbaigimą.

Kitas:

  • vėl juda į eilutę "makrokomandas";
  • pasirinktas iš sąrašo "Makro 1";
  • spustelėkite "Vykdyti" (tą patį veiksmą prasideda Pradėtos sparčiuosius klavišus «Ctrl + HH»).

Kaip rezultatas, veiksmas, kuris buvo atliktas įrašymas makro metu.

Prasminga, kad pamatytumėte, kaip kodas atrodo. Norėdami tai padaryti, eikite atgal į eilutę "makrokomandas" ir paspauskite "Redaguoti" arba "Enter". Kaip rezultatas, jie atsiduria VBA aplinkoje. Tiesą sakant, pati kodas yra tarp eilučių makro Makros1 Sub () ir End Sub.

Jei kopijavimas buvo atlikta, pavyzdžiui, iš ląstelių A1 ląstelių C1, vienas iš kodo eilučių atrodys diapazonas ( "C1"). Pasirinkite. Vertimas, atrodo, kad "diapazonas (" C1 "). Pasirinkite", kitaip tariant, daro perėjimą prie VBA Excel, ląstelių C1.

Aktyviai dalyvauti kodas baigia ActiveSheet.Paste komandą. Tai reiškia, įrašymo turinys, parinktas ląstelę (šiuo atveju, A1) pasirinktoje ląstelių C1.

2 PAVYZDYS

VBA ciklai padėti sukurti skirtingus makrokomandas Excel.

VBA ciklai padėti sukurti skirtingus makrokomandas. Manyti, kad ten yra funkcija y = x + x 3 + 3x 2 - cos (x). Jūs norite sukurti makrokomandą už savo grafika. Tai galima padaryti tik naudojant VBA ciklų.

Dėl pradinio ir galutinio vertės argumentas funkcijas imtis x1 = 0 ir x2 = 10. Be to, būtina nustatyti pastovų - už žingsnio vertės pokyčiai argumentą ir pradinį vertę prekystalio.

Visi VBA Excel makrokomandas pavyzdžiai sukurtas naudojant tą pačią procedūrą, kaip nurodyta aukščiau,. Šiuo konkrečiu atveju, kodas atrodo taip:

Sub programa ()

X1 = 1

X2 = 10

shag = 0,1

i = 1

Daryti, o X1

Y = X1 + X1 ^ 2 + 3 * x1 ^ 3 - Cos (X1)

Ląstelės (I, 1) Value = X1 (X1 vertė parašyta atminties su koordinačių (i, 1))

Ląstelės (I, 2) Value = Y (Y reikšmė yra parašyta ląstelės su koordinačių (I, 2))

i = i + 1 (galiojantį skaičių);

X1 = X1 + shag (argumentas yra pakeistas į žingsnio dydžio);

kilpa

End Sub.

Kaip šio paleisti makrokomandos rezultatas "Excel" "gauti du stulpelius, iš kurių pirmasis yra įrašytas reikšmes x, o antrasis - su y.

Tada planuoti galima statyti ant jų, kad standartą "Excel".

3 PAVYZDYS

Įgyvendinti ciklų VBA Excel 2010, taip pat kitose versijose, kartu su jau sumažino daryti, o dizainas naudojamas Už.

Apsvarstykite programa, kuri sukuria stulpelį. Kiekvienoje ląstelėje jis bus įrašytas kvadratų atitinkamoje eilutėje skaičių. Dėl dizaino naudojimą leis įrašyti jį labai trumpai, be prekystalio naudojimui.

Pirmiausia būtina sukurti makrokomandą, kaip aprašyta aukščiau. Kitas, rašyti pats kodą. Mes tikime, kad esame suinteresuoti už 10 ląstelių vertybes. Kodas yra taip.

Už i = 1 iki 10 Next

Komanda yra perkeliama į "žmogaus" kalba, kaip "kartojamas nuo 1 iki 10 padalomis po vieną."

Jei užduotis gauti stulpelį su kvadratų, pavyzdžiui, visi nelyginis sveikasis skaičius tarp 1 ir 11, rašome:

Visiems i = nuo 1 iki 10 1 žingsnio Kitas.

Čia, žingsnis - žingsnis. Šiuo atveju jis yra lygus dviejų. Numatyta, kad iš kilpos žodžio nebuvimas reiškia, kad vieno žingsnio.

Rezultatai turi būti saugomi ląstelių skaičius (I, 1). Tada kiekvieną kartą paleidus ciklas su į vertės padidėjimą I žingsnis bus automatiškai auga ir eilutės numeris. Taigi, ten bus kodas optimizavimas.

Apskritai, kodas turėtų atrodyti:

Sub programa ()

Nes aš = 1 iki 10 1 žingsnis (gali būti parašytas tik i = nuo 1 iki 10)

Ląstelės (I, 1) Value = I ^ 2 (t.y. kvadratinių vertė yra parašyta į ląstelę (I, 1) i)

Kitas (tam tikra prasme vaidina kovos priemonėmis ir kitu ciklo pradžioje vaidmenį)

End Sub.

Jei padaryta teisingai, įskaitant įrašymo ir veikia makrokomandas (žr. Aukščiau instrukcijas), tada jis vadinamas kiekvieną kartą suteikta dydis bus gauta stulpelį (šiuo atveju sudaro 10 elementų).

4 PAVYZDYS

Kasdieniame gyvenime, labai dažnai būtina vartoti šį ar šį sprendimą, priklausomai nuo tam tikrų sąlygų. Negali išsiversti be jų VBA Excel. Pavyzdžiui, tokios programos, kur toliau kursas algoritmas pasirinktas vietoj iš pradžių lėmė, dažniausiai naudojamas dizainas, jei ... Tada (už sudėtingais atvejais) Jei ... Tada ... pabaigos, jei.

Apsvarstykite konkrečiu atveju. Tarkime, jūs norite sukurti makrokomandą už "Excel" į ląstelę su koordinatėmis (1,1) buvo įrašyta:

1, jei šis argumentas yra teigiamas;

0 jei argumentas yra lygus nuliui;

1, jei argumentas yra neigiamas.

Tokio už "Excel" makrokomandos kūrimas prasideda standartiniu būdu, per "karštas" raktų Alt ir F11 naudojimui. Daugiau parašė šį kodą:

Sub programa ()

x = Ląstelės (1, 1) Value (Ši komanda priskiria x koordinatės ląstelių turinį vertę (1, 1))

Jei x> 0 Tada Ląstelės (1, 1) Value = 1

Jei x = 0, tada Ląstelės (1, 1) Value = 0

Jei X <0, tada Ląstelės (1, 1) Value = -1

End Sub.

Belieka paleisti makrokomandą ir gauti "Excel" norimą vertę argumentas.

VBA funkcijas

Kaip Jūs galbūt jau pastebėjote, garsiausių programos Microsoft skaičiuoklės taikymo nėra labai sunku. Ypač, jei jūs išmoksite kaip naudoti VBA funkcijas. Iš viso ši programavimo kalba sukurta specialiai raštu paraiškas "Excel" ir "Word", apie 160 funkcijų. Jie gali būti suskirstyti į keletą didelių grupių. Jie yra:

  • Matematines funkcijas. Taikant juos prie kosinusas vertės argumentas yra gautas, kiekių natūraliojo logaritmo vertes, ir taip visa dalis.
  • Finansinės funkcijos. Dėl prieinamumą ir naudojimą programavimo Excel, galite gauti veiksmingų priemonių apskaitos ir finansinės gyvenviečių.
  • Masyvo apdorojimo funkcijas. Tai apima masyvas, IsArray; LBound; UBound.
  • VBA Excel veikti už linijos. Tai gana didelė grupė. Tai apima, pavyzdžiui, erdvės funkciją sukurti eilutę su spragų lygus sveikojo argumento ar ASC pervedimai simboliai ANSI kodo numeris. Visi jie yra plačiai naudojami ir leidžia jums dirbti su stygos į "Excel" kurti programas, daug lengviau dirbti su šiomis lentelėmis.
  • Duomenų tipas konvertavimo funkcijos. Pavyzdžiui, cvar grįžta Expression argumentą, konvertuoti jį į Variant duomenų tipo.
  • Data funkcijos. Jie labai išplėsti standartines funkcijas "Excel". Taigi, WeekdayName funkcija grąžina pavadinimas (visas arba dalinį) savaitės dieną pagal jo numerį. Dar daugiau naudingos yra Laikmatis. Jis suteikia sekundžių, kurie praėjo nuo vidurnakčio iki tam tikro momento dienos skaičių.
  • Veikti konvertuoti skaitinę argumentą skirtingų skaičių sistemas. Pavyzdžiui, Spa išėjimai į aštuntainę atstovavimo skaičius.
  • formatavimo funkcijos. Svarbiausias iš jų yra formatą. Ji grąžina variantas su išraiškos suformatuotas pagal instrukcijas, pateiktas dėl formato aprašymas.
  • ir taip toliau.

Iš šių funkcijų ir jų taikymo savybių tyrimas bus žymiai išplėsti "Excel" taikymo sritį.

5 PAVYZDYS

Pabandykime išspręsti sudėtingesnes problemas. Pavyzdžiui:

Danas popierinis dokumentas faktinis lygis sąnaudų įmonės ataskaitoje. reikia:

  • plėtoti savo modelio dalį iki skaičiuoklės "Excel";
  • padaryti VBA programą, kuri prašys neapdoroti duomenys, kad jį užpildyti, atlikti reikalingus skaičiavimus ir užpildyti atitinkamą langelį šabloną.

Apsvarstykite vieną iš šių sprendimų.

Šablono kūrimas

Visi veiksmai atliekami pagal standartinę lapo Excel. Nemokama ląstelės saugomos įvesti duomenis apie mėnesio, metų, pavadinimas ir vartotojų įmones, išlaidų suma, jų lygis apyvartos. Kaip įmonių (įmonių) skaičius, dėl kurio ataskaita nėra užfiksuota, ląstelės, kad nuo vertybių ir profesinio vardo pagrindu, turi ne tik iš anksto. Užduotis skiriamas nauju pavadinimu. Pavyzdžiui, "Օ ataskaita".

kintamieji

Norėdami rašyti programa automatiškai užpildyti šabloną, pasirinkite žymėjimo. Jie bus naudojami kintamųjų:

  • NN- numeris dabartinės eilutės lentelės;
  • TF ir TF - planuojama ir faktinė apyvarta;
  • SF ir SP - faktinį ir numatomą bendros išlaidos;
  • IP ir JEI - planuojamas ir faktines išlaidas lygis.

Mes rodo tų pačių raidžių, bet su "priešdėlio» Itog kaupimo viso už tą stulpelį. Pavyzdžiui, ItogTP - Atsižvelgiant į kolonėlę teisę, kaip "planuojamos apyvartos."

Problemos sprendimas naudojant VBA programavimą

Naudojant šį formatą, gauname už dispersijos formulę. Jei norite atlikti skaičiavimus% turime (F - P) / P * 100, o į sumą - (F - P).

Šių skaičiavimų rezultatai gali būti geriausias, tik, kad "Excel" skaičiuoklę į atitinkamus ląsteles.

Už rezultatus ir prognozės iš tiesų gautas formules ItogP = ItogP + P ir ItogF = ItogF + F

Nukrypimų naudoti = (ItogF - ItogP) / ItogP * 100, jei skaičiavimai yra atliekamas kaip procentinė dalis, ir jei bendra vertė - (ItogF - ItogP).

Rezultatai ir vėl registruojamos atitinkamais ląstelių, todėl nereikia priskirti juos kintamųjų.

Prieš pradedant kurti programą norite išsaugoti darbaknygę, pavyzdžiui, pagal pavadinimą "Otchet1.xls".

Paspauskite "Sukurti ataskaitos lentelę", jūs turite paspausti tik 1 kartą, įvedus antraštės informaciją. Turėtumėte žinoti, ir kitos taisyklės. Visų pirma, mygtukas "Pridėti liniją" reikia spausti kiekvieną kartą įvedus į vertes kiekvienos veiklos lentelėje. Įvedę visus reikiamus duomenis paspauskite mygtuką "Finish", ir tada pereiti į "Excel" lango.

Dabar jūs žinote, kaip išspręsti Excel uždavinius naudojant makrokomandas. Galimybė pritaikyti vba excel (programų pavyzdžiai, žr. Pirmiau) gali prireikti dirbti populiariausio teksto redaktoriaus "Vord" aplinkoje. Visų pirma galite parašyti, kaip parodyta pačioje straipsnio pradžioje, arba kodo sukūrimo metu sukurkite meniu mygtukus, dėl kurių daugelis teksto operacijų gali būti atliekamos paspaudžiant klavišus arba per skirtuką "Žiūrėti" ir "makrokomandas".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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