KompjûtersSoftware

VBA Excel: sample programma. Makro yn Excel

Net folle minsken witte dat de earste ferzje fan de populêre Microsoft Excel produkt ferskynde yn 1985. Sûnt dy tiid is ûndergien ferskate oanpassings en fraach fan de miljoenen fan brûkers oeral op 'e wrâld. Lykwols in protte wurk mar mei in lyts bytsje mooglikheden fan dizze rekkenblêd en net iens witte hoe't sy koenen meitsje it libben makliker foar de mooglikheid om Excel programmearring.

Wat is VBA

Programmearring yn Excel wurdt dien troch Visual Basic foar Applikaasje programmeartaal dat waard oarspronklik boud yn de meast ferneamde wurkblêd út Microsoft.

Om syn fertsjinste saakkundigen attribute de relative gemak fan ûntwikkeling. As praktyk shows, VBA kin behearskje de basis, sels brûkers dy't gjin profesjonele programmearring feardichheden. Foar VBA funksjes befetsje skript útfiering yn it kantoar applikaasje omjouwing.

It neidiel fan it programma binne de problemen dy't gearhingje mei de ferienichberheid fan ferskillende ferzjes. Se wurde feroarsake troch it feit dat it VBA koade fan it programma ferwiist nei de funksjonaliteit dy't oanwêzich is yn de nije ferzje fan it produkt, mar net yn 'e âlde ien. Der is ek in grutte efterstân en oerdreaun hege iepenheid fan koade te feroarjen it gesicht fan in frjemdling. Mar Microsoft Office, en IBM Lotus Symphony kinne brûkers te passen fersifering yngong koade en wachtwurd ynstellings te besjen is.

Foarwerpen, samlingen, eigenskippen, en metoades

It is mei dy begripen jo moatte begripe dyjingen dy't giest oan it wurk yn it VBA omjouwing. Earst fan alle, moatte jo begripe wat it foarwerp is. Yn Excel, yn dizze died as in lekken, in boek, en sel berik. Dy objekten hawwe spesjale hiërargy, i.e. hearrich inoar.

Chief ûnder harren is de Applikaasje, it korrespondearjende Excel programma sels. Folge Workbooks, Worksheets, en Range. Bygelyks, om te ferwizen nei sel A1 op in spesifyk wurkblêd moat wize de wei, rekken hâldend mei de hierargy.

Oangeande it begryp "kolleksje," dizze groep fan objekten fan deselde klasse, dêr't opname wurdt jûn ChartObjects. Har eleminten binne ek objekten.

Next ding - eigenskippen. Se binne in needsaaklike skaaimerk fan in foarwerp. Bygelyks, foar de Range - is in Value of Formule.

Metoaden - is de kommando om sjen te litten dat jo wolle meitsje. As it skriuwen koade yn VBA hjar to skieden fan it foarwerp punt. Bygelyks, as wurdt werjûn letter, hiel faak as in adres yn de "Excel" gebrûk Sellen kommando (1,1) .Select. It betsjut dat it needsaaklik is om te selektearjen fan in sel mei koördinaten (1,1), i.e. A1.

Lykwols, it wurdt faak brûkt Selection.ClearContents. Har útfiering wurdt gie de ynhâld fan de selektearre sel.

How to start

Earst fan alles, jo wolle meitsje de triem en fêstlizze, tawize in namme en selektearje hokker type «Boek Excel macro-ynskeakele."

Dan, gean nei it VB applikaasje, dat is genôch foar in kombinaasje fan «Alt» kaai en «F11». Folgjende:

  • yn de menubalke boppe-oan it finster, klik op it ikoantsje neist it Excel byldkaike;
  • Mudule selektearre kommando;
  • bliuwe te klikken op it ikoantsje mei de skyfke is;
  • skriuwe, sis, in koade op haadlinen.

It sjocht der as folget:

Sub programma ()

'Us koade

ein Sub

Tink derom dat de line " 'Us koade" sil wurde markearre yn in oare kleur (grien). De reden foar dizze apostrophe, levere oan it begjin fan 'e string, dat jout oan dat wat folget is in reaksje.

No kinne jo skriuwe eltse koade en meitsje foar harsels in nij stik ark yn VBA Excel (sjoch de stekproef programma. Etc.). Fansels, sokken dy't binne bekend mei de basis fan Visual Basic, dan sil folle makliker. Lykwols, ek dyjingen dy't net hawwe, as jo wolle kinne te krijen noflik frij fluch.

Makro yn Excel

Efter dizze namme berget programma skreaun yn Visual Basic foar Application taal. Sa, de programmearring oan Excel - is it meitsjen fan in makro nei de winske koade. Mei dizze bekwamens, Microsoft Spreadsheet self-ûntjout, oanpassen oan 'e easken fan in bepaalde brûker. Nei't behannele hoe't te meitsjen modules foar it skriuwen makro, is it mooglik om fierder te gean mei konkrete foarbylden fan VBA Excel programma. It is it bêste om te begjinnen mei de meast basale koades.

foarbyld 1

Taak: Skriuw in programma dat sil kopiearje de wearde fan 'e ynhâld fan ien sel en dan skriuwe nei in oare.

Dat giet sa:

  • iepenje de ljepper "Byld";
  • ferpleatsen it ikoantsje "makro";
  • skodzje mei de "Record Macro";
  • folje iepene formulier.

Foar ienfâld, yn de "Macro Namme" leave "Makros1" en yn it "Fluchtoets kaai" wurdt ynfoege, bygelyks, hh (dit betsjut dat jo kinne rinne it foarbyld programma sil wêze «Ctrl + h» Blitz team). Druk op Enter.

No, dat jimme hawwe begûn opnimmen fan de makro, make up de ynhâld fan in sel oan in oar. Werom nei de oarspronklike byldkaike. Klik op de "Record Macro". Dizze aksje markeart de foltôging fan applets.

Folgjende:

  • wer beweecht ta de tekenrige "Makro";
  • is selektearre yn de list "Macro 1";
  • klik "Run" (deselde aksje begjint Launched fluchtoets toetsen «Ctrl + hh»).

As gefolch, de aksje dy't is útfierd ûnder opnimmen fan de makro.

It sinfol om te sjen hoe't de koade liket. Om dit te gean werom nei de tekenrige "Makro" en klik op "bewurkje" of "Enter". As gefolch, se fine harsels yn it VBA omjouwing. Eins, de koade sels leit tusken rigels makro Makros1 Wiksel () en End Wiksel.

As kopiearjen is útfierd, bygelyks, út in sel A1 yn sel C1, ien fan 'e rigels fan koade sil útsjen Fleanberik ( "C1"). Select. Yn oersetting, it liket as "Fleanberik (" C1 "). Selektearje", yn oare wurden, makket in oergong nei VBA Excel, yn sel C1.

In aktive part fan de koade foltôging ActiveSheet.Paste ploech. It betsjut opname ynhâld selektearre sel (yn dit gefal, A1) yn de selektearre sel C1.

foarbyld 2

VBA cycles helpe meitsjen ferskillende makro yn Excel.

VBA cycles helpe meitsjen ferskillende makro. Der fan út dat der in funksje y = x + x 3 + 3x 2 - cos (x). Jo wolle in makro foar syn graphics. Dit kin dien wurde allinne troch help fan VBA fytst.

Foar de inisjele en lêste wearde fan argumint funksjes nimme x1 = 0 en x2 = 10. Fierders is it nedich is om in konstante - de wearde foar stap feroaret it argumint en in earste wearde foar de toanbank.

Alle foarbylden fan VBA Excel makro wurde makke mei help fan deselde proseduere as tsjocht hjirboppe. Yn dit bysûndere gefal, de koade liket:

Sub Programm ()

x1 = 1

x2 = 10

shag = 0.1

i = 1

Do Wylst x1

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

Sellen (i, 1) .Value = x1 (x1 wearde skreaun yn it ûnthâld mei de koördinaten (i, 1))

Sellen (i, 2) .Value = y (y wearde is skreaun yn 'e sel mei de koördinaten (i, 2))

i = i + 1 (jildich count);

x1 = x1 + shag (argumint wurdt wizige yn it stap grutte);

loop

Ein Sub.

As gefolch fan dizze run macro "Excel" krijen twa kolommen, it earste dêrfan wurde opnommen de wearden foar x, en de twade - by y.

Dan skema steat om te bouwen op harren, it standert foar "Excel".

foarbyld 3

Om útfieren fytst yn VBA Excel 2010, likegoed as yn oare ferzjes, tegearre mei de al fermindere Do Wylst design brûkt For.

Betink in programma dat soarget foar in kollum. Yn elke sel dan wurdt opnommen fjilden oerienkommende rigel nûmer. Foar it brûken fan it ûntwerp sil tastean om record net hiel koart, sûnder it brûken fan in teller.

Earst is it nedich te meitsjen fan in makro, lykas hjirboppe beskreaun. Folgjende, skriuw de koade sels. Wy leauwe dat wy binne ynteressearre yn 'e wearden foar de 10 sellen. De koade is as folget.

Foar i = 1 oant 10 Next

It kommando wurdt oerdroegen oan 'e "minske" taal, lykas "werhelle fan 1 oant 10 yn mei stappen fan ien."

As de taak te ûntfangen de kolom mei pleinen, bygelyks, alle ûneven integers tusken 1 en 11, wy skriuwe:

Foar i = 1 oant 10 stap 1 Next.

Hjir, stap - stap. Yn dit gefal, it is gelyk oan twa. Standert, it ûntbrekken fan it wurd yn 'e luds betsjut dat ien stap.

De resultaten moatte wurde opslein yn sel oantal (i, 1). Dan eltse kear as jo begjinne de syklus mei in stiging fan de wearde fan 'ik stap sil automatysk groeie en rigel nûmer. Sa, dêr sil wêze koade optimalisaasje.

Yn it algemien, de koade soe útsjen:

Sub programma ()

Foar i = 1 Om 10 Stap 1 (kin skreaun wurde allinnich foar i = 1 Om 10)

Sellen (i, 1) .Value = i ^ 2 (i.e. fjouwerkant wearde is skreaun yn 'e sel (i, 1) i)

Folgjende (yn in sin spilet de rol fan 'e teller middels en oar fytspaad start)

Ein Sub.

As dien korrekt, ynklusyf opname en draait makro (sjoch. De ynstruksjes hjirboppe), dan is it hjit elke kear in jûn grutte sil krigen wurde kolom (yn dit gefal besteande út 10 sellen).

foarbyld 4

Yn it deistich libben, hiel faak is it nedich om nim dit of dat beslút ôfhinklik fan guon betingsten. Kin net dwaan sûnder harren yn VBA Excel. Foarbylden fan programma dêr't de fierdere rin fan de algoritme is selektearre ynstee fan earst foarbeskaaide, meast brûkte ûntwerp fan As ... Dan (foar drege gefallen) As ... Dan ... END As.

Tink oan it bysûndere gefal. Stel jo wolle meitsje in makro foar "Excel" oan 'e sel mei de koördinaten (1,1) is opnommen:

1 as it argumint is posityf;

0 as it argumint is nul;

1, as it argumint is negatyf.

De oprjochting fan sa'n makro foar "Excel" begjint op in standert wize, troch it brûken fan "hjit" toetsen Alt en F11. Fierder skreaun de folgjende koade:

Sub programma ()

x = Sellen (1, 1) .Value (Dit kommando kieze de wearde fan x koördinaten fan de selynhâld (1, 1))

As x> 0 Dan Sellen (1, 1) .Value = 1

As x = 0 Dan Sellen (1, 1) .Value = 0

As x <0 Dan Sellen (1, 1) .Value = -1

Ein Sub.

It bliuwt te rinne in makro en krije yn "Excel" winske wearde foar it argumint.

VBA funksjes

Sa't jo miskien hawwe opfallen, yn 'e meast ferneamde programma Microsoft rekkenblêd applikaasje is net al te dreech. Benammen as jo leare hoe't jo brûke VBA funksjes. Yn totaal, dizze programmeartaal makke spesjaal foar it skriuwen applikaasjes yn "Excel" en it Wurd, likernôch 160 funksjes. Se kin ûnderferdield wurde yn meardere grutte groepen. Se binne:

  • Wiskundige funksjes. Tapassen se oan it argumint fan de kosinus wearde wurdt verkregen, de natuerlike logaritme werom, en sa it hiele diel.
  • Finansjele funksjes. Fanwege harren beskikberens en gebrûk programmearring yn Excel, kinne jo krije effektive ark foar boekhâlding en finansjele delsettingen.
  • Array ferwurkjen funksjes. Te tinken falt Array, IsArray; LBound; UBound.
  • VBA Excel funksjonearje foar de line. Dit is in frij grutte groep. It befettet, bygelyks, Space funksje om in snaar mei in tal hiaten lyk oan it hiele argumint of Asc Transfers symboalen oan ANSI koade. Alle fan harren binne rûnom brûkt en meitsje it jo mooglik om te wurkjen mei snaren yn de "Excel" te meitsjen applikaasjes folle makliker om te wurkjen mei dizze tabellen.
  • Data type conversion funksjes. Bygelyks, CVar jout Expression argumint, it omsette fan it oan Variant gegevens type.
  • Datum funksjes. Se sterk útwreidzje de standert funksjes fan "Excel". Dus, WeekdayName jout de namme (folsleine of foar in part) fan de dei fan de wike troch syn nûmer. Noch mear brûkber is de Timer. Hy jout it oantal sekonden dy't hawwe ferstrutsen sûnt midnacht ta in bepaald momint fan de dei.
  • Funksjonearje te bekearen in nûmerike argumint yn de ferskillende tal systemen. Bygelyks, okt útfiert nei octal fertsjintwurdiging fan it nûmer.
  • opmaak funksjes. De wichtichste fan dy is it Opmaak. It jout in fariant mei in útdrukking opmakke neffens ynstruksjes jûn yn 'e beskriuwing fan' e yndieling.
  • ensafuorthinne.

De stúdzje fan de eigenskippen fan de funksjes en harren tapassing wol flink útwreidzje it berik fan "Excel".

foarbyld 5

Lit ús besykje te lossen mear komplekse problemen. Bygelyks:

Dan papier dokumint de eigentlike nivo fan de kosten fan de ûndernimming rapport. fereasket:

  • ûntwikkeljen fan syn patroan diel troch rekkenblêd "Excel";
  • meitsje in VBA programma dat sil freegje om rauwe gegevens te foljen is, te fieren út de nedige berekkenings en folje de sjabloan fan de oerienkommende sel.

Tink oan ien fan de folgjende oplossings.

It meitsjen fan in sjabloan

Alle aksjes binne útfierd op in standert blêd yn Excel. Free sellen reservearre foar it ynfieren fan gegevens oer de moanne, it jier, title-konsumint bedriuwen, it bedrach fan 'e kosten, harren nivo fan de omset. As it oantal bedriuwen (bedriuwen), oangeande dêr't it rapport wurdt net opnommen, de sellen te meitsjen op basis fan de wearden en profesjonele namme is net reservearre fan tefoaren. Wurkblêd tawiisd oan in nije namme. Bygelyks, "Օ Report".

fariabelen

Om skriuw it programma automatysk folje de sjabloan, selektearje de notaasje. Se sille brûkt wurde foar de fariabelen:

  • NN- nûmer fan it hjoeddeiske rige fan 'e tafel;
  • TP en TF - foarnommen en eigentlike omset;
  • SF en SP - eigentlike en PLANNED totale kosten;
  • IP en IF - foarnommen en werklike kosten nivo.

Wy denote troch deselde brieven, mar mei in "Prefix» Itog accumulation totaal foar dat kolom. Bygelyks, ItogTP - Oangeande de kolom mei de titel, as "de plande omset."

Oplossing fan it probleem mei help VBA programmearring

Mei help fan dizze muzyknotaasje, wy krije de formule foar de fariaasje. As jo wolle fieren de berekkening yn% we hawwe (F - P) / P * 100, en yn 'e hichte fan - (F - P).

De resultaten fan dy berekkeningen kin wêze bêste krekt te meitsje "Excel" wurkblêd yn it passend sellen.

Foar de útkomst en prognoaze yn feite krigen troch formules ItogP = ItogP + P en ItogF = ItogF + F.

Foar ôfwikings brûke = (ItogF - ItogP) / ItogP * 100 as de berekkening wurdt útfierd as in persintaazje, en as de totale wearde - (ItogF - ItogP).

De resultaten ien kear wer opnommen yn 'e passend sellen, dus der is gjin needsaak om tawize se oan fariabelen.

Foardat begjinne te meitsjen fan in programma dat jo bewarje wolle it wurkboek, bygelyks, ûnder de namme "Otchet1.xls".

Druk op "Meitsje in melding tafel," jo moatte druk mar 1 kear nei it ynfieren fan de kop ynformaasje. Jo moatte witte en oare regels. Benammen, de knop "Taheakje in rigel" moat oanklikt elke kear nei it oangean fan 'e tafel fan' e wearden foar eltse aktiviteit. Nei it ynfieren fan alle gegevens nedich om druk op de knop "Foltôgje", en dan wikselje mei "Excel" yn it finster.

No dat jo witte hoe te lossen it probleem foar Excel mei makro. De mooglikheid te brûken vba Excel (sjoch Sample programma. Boppe) en jo miskien moatte oan it wurk yn 'e omjouwing fan de meast populêre op it stuit, de tekst bewurker "Word." Benammen troch it opnimmen, lykas werjûn yn it begjin fan dit artikel, of troch it skriuwen fan de koade te meitsjen it menu knoppen troch dêr't in soad fan 'e operaasjes op' e tekst kin dien wurde troch te drukken op de toetsen op plicht of fia it "Byld" ljepblêd en it ikoan fan 'e "Makro".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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