RekenaarsSagteware

VBA Excel: voorbeelde van programme. Makro in Excel

Min mense weet dat die eerste weergawe van die gewilde Microsoft Excel produk verskyn in 1985. Sedertdien het dit 'n paar veranderinge en aanbod van miljoene gebruikers regoor die wêreld ondergaan het. Daar is egter baie werk net met 'n bietjie vermoëns van hierdie sigblad en weet nie eens hoe hulle die lewe makliker vir die vermoë om Excel ontwikkeling kan maak.

Wat is VBA

Programmering in Excel gedoen word deur Visual Basic for Aansoek programmeertaal wat oorspronklik gebou in die mees bekende spreadsheet van Microsoft.

Om sy meriete kenners skryf die relatiewe gemak van ontwikkeling. As die praktyk toon, kan VBA bemeester die basiese beginsels, selfs gebruikers wat nie 'n professionele ontwikkeling vaardighede. Vir VBA funksies sluit script uitvoering in die kantoor aansoek omgewing.

Die nadeel van die program is die probleme wat verband hou met die verenigbaarheid van verskillende weergawes. Hulle word veroorsaak deur die feit dat die VBA-kode van die program verwys na die funksies wat in die nuwe weergawe van die produk is, maar nie in die ou een. Daar is ook 'n groot nadeel en uitermate hoë openheid van kode aan die gesig van 'n vreemdeling verander. Maar Microsoft Office, en IBM Lotus Symphony gebruikers toelaat om enkripsie inskrywing kode en wagwoord instellings van toepassing is op dit te kan sien.

Voorwerpe, versamelings, eienskappe, en metodes

Dit is met hierdie begrippe wat jy nodig het om diegene wat gaan om te werk in die VBA-omgewing te verstaan. In die eerste plek, moet jy verstaan wat die voorwerp is. In Excel, in hierdie Wet as 'n laken, 'n boek, en sel reeks. Hierdie voorwerpe het 'n spesiale hiërargie, dit wil sê gehoorsaam mekaar.

Hoof onder hulle is die Aansoek, die ooreenstemmende Excel program self. Gevolg werkboeke, werkkaarte, en Range. Byvoorbeeld, om te verwys na sel A1 op 'n spesifieke vel moet die pad wys, met inagneming van die hiërargie.

Met betrekking tot die konsep van "versameling," hierdie groep voorwerpe van dieselfde klas, waarin opname gegee ChartObjects. Sy elemente is ook voorwerpe.

Volgende ding - eienskappe. Hulle is 'n noodsaaklike kenmerk van enige voorwerp. Byvoorbeeld, vir die Range - is 'n Waarde of Formule.

Metodes - is die bevel om te wys wat jy wil maak. By die skryf van kode in VBA hulle geskei word van die voorwerp punt. Byvoorbeeld, sal as later getoon word, baie dikwels tydens programmering in die "Excel" gebruik Selle opdrag (1,1) .Select. Dit beteken dat dit nodig is om 'n sel met koördinate kies (1,1), dit wil sê A1.

Dit word egter dikwels gebruik Selection.ClearContents. Die implementering daarvan is die skoonmaak van die inhoud van die geselekteerde sel.

Hoe om te begin

In die eerste plek, wat jy wil om die lêer te skep en stoor dit, wys 'n naam en kies die tipe «Book Excel makro-aktief te wees."

Toe, gaan na die VB aansoek, wat genoeg is om 'n kombinasie van «Alt» sleutel en «F11» gebruik. volgende:

  • in die kiesbalk bo-aan die venster, kliek op die ikoon langs die ikoon Excel;
  • Mudule gekies command;
  • hou op die ikoon met die diskette;
  • skryf, sê, 'n kode uiteensetting.

Dit lyk soos volg:

Subprogram ()

'Ons kode

einde Sub

Neem asseblief kennis dat die lyn "Ons code" sal uitgelig word in 'n ander kleur (groen). Die rede hiervoor afkappingsteken, gelewer aan die begin van die string, wat daarop dui dat dit wat volg is 'n kommentaar.

Nou kan jy enige kode te skryf en skep vir hulself 'n nuwe instrument in VBA Excel (sien die voorbeelde van programme ens.). Natuurlik, diegene wat vertroud is met die basiese beginsels van Visual Basic, dit sal baie makliker wees. Maar selfs dié wat nie het nie, as jy wil in staat wees om baie vinnig gemaklik te kry.

Makro in Excel

Agter hierdie naam skuil programme geskryf in Visual Basic for Aansoek taal. So, die ontwikkeling na Excel - is 'n makro skep om die gewenste kode. Met hierdie vermoë, Microsoft sigblad self-ontwikkel, aan te pas by die vereistes van 'n spesifieke gebruiker. Nadat hanteer hoe om modules te skep vir die skryf van makros, is dit moontlik om voort te gaan met konkrete voorbeelde van VBA Excel program. Dit is die beste om te begin met die mees basiese kodes.

VOORBEELD 1

Taak: Skryf 'n program wat die waarde van die inhoud van 'n sel sal kopieer en dan skryf na 'n ander.

Om dit te doen:

  • open die blad "View";
  • beweeg die ikoon "macros";
  • skud om die "Rekord Makro";
  • vul geopen vorm.

Vir eenvoud, in die "Makro Naam" laat "Makros1" en in die "Kortpad sleutel" is ingevoeg, byvoorbeeld, hh (dit beteken dat jy kan hardloop die voorbeeld program sal «Ctrl + h» blitz span wees). Druk Enter.

Noudat jy begin opneem die makro, make-up die inhoud van 'n sel na 'n ander. Terug te keer na die oorspronklike ikoon. Klik op die "Record Makro". Hierdie aksie dui die voltooiing van applets.

volgende:

  • weer beweeg om die string "Makro";
  • gekies in die lys "Makro 1";
  • Klik "Run" (dieselfde aksie begin van stapel gestuur kortpadsleutels «Ctrl + hh»).

As gevolg hiervan, die aksie wat uitgevoer is gedurende die opname van die makro.

Dit maak sin om te sien hoe die kode lyk. Om dit te doen, gaan terug na die string "Makro" en kliek op "Edit" of "Enter". As gevolg hiervan, het hulle hulself in die VBA-omgewing. Eintlik is die kode self is geleë tussen lyne makro Makros1 Sub () en End Sub.

As kopiëring is uitgevoer, byvoorbeeld, van 'n sel A1 in sel C1, een van die reëls van die kode sal lyk Range ( "C1"). Kies. In vertaling, dit lyk soos "Range (" C1 "). Kies", met ander woorde, maak 'n oorgang na VBA Excel, in sel C1.

'N aktiewe deel van die kode ActiveSheet.Paste span voltooi. Dit beteken opname inhoud gekies sel (in hierdie geval, A1) in die gekose sel C1.

VOORBEELD 2

VBA siklusse help skep verskillende makros in Excel.

VBA siklusse help skep verskillende makros. Neem aan dat daar 'n funksie y = x + x 3 + 3x 2 - cos (x). Jy wil 'n makro vir sy grafiese skep. Dit kan gedoen word slegs deur die gebruik van VBA siklusse.

Vir die aanvanklike en finale waarde van argument funksies neem x1 = 0 en x2 = 10. Verder, is dit nodig om 'n konstante stel - die waarde vir stap verander die argument en 'n aanvanklike waarde vir die toonbank.

Alle voorbeelde van VBA Excel Makro is geskep met behulp van dieselfde prosedure as hierbo uiteengesit. In hierdie spesifieke geval, die kode lyk:

Sub program ()

x1 = 1

x2 = 10

spyker = 0.1

i = 1

Moenie Terwyl x1

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

Selle (i, 1) .Value = x1 (x1 waarde geskryf in die geheue met die koördinate (i, 1))

Selle (i, 2) .Value = y (y waarde is geskryf in die sel met die koördinate (i, 2))

i = i + 1 (geldig telling);

x1 = x1 + spyker (argument is verander na die stap grootte);

Loop

Einde Sub.

As gevolg van hierdie run makro "Excel" kry twee kolomme, waarvan die eerste aangeteken die waardes vir x, en die tweede - te y.

Dan skeduleer kan voortbou op hulle, die standaard vir "Excel".

VOORBEELD 3

Om siklusse te implementeer in VBA Excel 2010, sowel as in ander weergawes, tesame met die reeds verminderde doen terwyl ontwerp gebruik word.

Dink aan 'n program wat 'n kolom skep. In elke sel sal dit aangeteken word blokkies ooreenstemmende lyn nommer. Vir die gebruik van die ontwerp sal toelaat om dit baie kortliks aan te teken, sonder die gebruik van 'n toonbank.

Eerste is dit nodig om 'n makro skep, soos hierbo beskryf. Volgende, skryf die kode self. Ons glo dat ons is geïnteresseerd in die waardes vir die 10 selle. Die kode is soos volg.

Vir i = 1 tot 10 Volgende

Die opdrag is oorgeplaas na die "menslike" taal, as "herhaal 1-10 in inkremente van een."

As die taak om die kolom met blokkies te ontvang, byvoorbeeld, al onewe heelgetalle tussen 1 en 11, wat ons skryf:

Vir i = 1 tot 10 stap 1 Volgende.

Hier stap - stap. In hierdie geval, is dit gelyk aan twee. By verstek, die afwesigheid van die woord in die loop beteken dat 'n enkele stap.

Die resultate moet gestoor word in selnommer (i, 1). Dan elke keer as jy die siklus met 'n toename in die waarde begin van i stap sal outomaties groei en lyn nommer. Dus, sal daar-kode optimalisering wees.

In die algemeen, sal die kode lyk:

Subprogram ()

Vir i = 1 tot 10 Stap 1 (geskryf kan word net vir i = 1 tot 10)

Selle (i, 1) .Value = i ^ 2 (maw vierkante waarde is geskryf in die sel (i, 1) i)

Volgende (in 'n sekere sin speel die rol van die toonbank middel en 'n ander siklus begin)

Einde Sub.

As dit korrek is, insluitend opname en hardloop makros (sien. Bogenoemde instruksies), dan is dit genoem elke keer 'n gegewe grootte sal verkry kolom (in hierdie geval bestaan uit 10 selle).

VOORBEELD 4

In die alledaagse lewe, baie dikwels is dit nodig om hierdie of daardie besluit te neem, afhangende van 'n paar voorwaardes. Kan dit nie doen sonder hulle in VBA Excel. Voorbeelde van programme waar die verdere verloop van die algoritme gekies in plaas van aanvanklik voorafbepaalde, mees algemeen gebruikte ontwerp van As ... Dan (vir moeilike gevalle) as ... dan ... EINDE As.

Kyk na die spesifieke geval. Veronderstel jy wil 'n makro vir "Excel" skep om die sel met die koördinate (1,1) is aangeteken:

1 as die argument is positief;

0 as die argument is nul;

1 As die argument is negatief.

Die skepping van so 'n makro vir "Excel" begin in 'n standaard manier, deur die gebruik van sleutels "warm" alt en F11. Verder geskryf die volgende kode:

Subprogram ()

x = selle (1, 1) .Value (Hierdie opdrag ken die waarde van x koördinate van die selinhoud (1, 1))

As x> 0 dan selle (1, 1) .Value = 1

As x = 0 dan selle (1, 1) .Value = 0

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

Einde Sub.

Dit bly 'n makro verlangde waarde te hardloop en kry in "Excel" vir die argument.

VBA funksies

As jy dalk opgemerk het, in die mees bekende program Microsoft spreadsheet aansoek is nie te moeilik. Veral as jy leer hoe om VBA funksies te gebruik. In totaal, hierdie programmeertaal spesifiek geskep vir die skryf van programme in "Excel" en die Woord, sowat 160 funksies. Hulle kan verdeel word in verskeie groot groepe. Hulle is:

  • Wiskundige funksies. Die toepassing daarvan op die argument van die cosinus waarde verkry, die natuurlike logaritme, en so die hele deel.
  • Finansiële funksies. As gevolg van hul beskikbaarheid en gebruik programmering in Excel, kan jy doeltreffende instrumente vir rekeningkundige en finansiële nedersettings te kry.
  • Verskeidenheid verwerking funksies. Dit sluit in Array, IsArray; LBound; UBound.
  • VBA Excel funksioneer vir die lyn. Dit is 'n redelike groot groep. Dit sluit, byvoorbeeld, Space funksie om 'n string met 'n aantal leemtes gelyk aan die getal argument of Asc oordragte simbole te ANSI-kode te skep. Almal van hulle is wyd gebruik en laat jou toe om te werk met snare in die "Excel" om aansoeke baie makliker om te werk met hierdie tabelle te skep.
  • datatipe omskakeling funksies. Byvoorbeeld, CVar terug Expression argument, omskakeling dit na Variant tipe data.
  • Datum funksies. Hulle die standaard kenmerke van "Excel" grootliks uit te brei. So, WeekdayName funksie gee terug Die naam (volle of gedeeltelike) van die dag van die week deur sy nommer. Selfs meer bruikbaar is die Timer. Hy gee die aantal sekondes wat sedert middernag verstryk het om 'n bepaalde oomblik van die dag.
  • Funksioneer om 'n numeriese argument te omskep in die verskillende getalstelsels. Byvoorbeeld, Oktober uitgange na oktaal voorstelling van die aantal.
  • opmaak funksies. Die belangrikste hiervan is die formaat. Dit gee 'n Variant met 'n uitdrukking formaat volgens die instruksies gegee in die beskrywing van die formaat.
  • en dies meer.

Die studie van die eienskappe van hierdie funksies en die toepassing daarvan sal aansienlik uit te brei die omvang van "Excel".

VOORBEELD 5

Kom ons probeer om meer komplekse probleme op te los. Byvoorbeeld:

Dan papierdokument die werklike vlak van koste van die onderneming verslag. vereis:

  • ontwikkel sy patroon gedeelte deur spreadsheet "Excel";
  • maak 'n VBA program wat jou sal vra vir rou data om dit te vul, die nodige berekeninge uit te voer en in die sjabloon van die ooreenstemmende sel vul.

Oorweeg een van die volgende oplossings.

Die skep van 'n sjabloon

Alle aksies word uitgevoer op 'n standaard vel in Excel. Gratis selle voorbehou vir die invoer van data op die maand, jaar, titel-verbruiker maatskappye, die bedrag van die koste, hul vlak van omset. As die aantal maatskappye (maatskappye), ten opsigte waarvan die verslag nie aangeteken, die selle te maak op grond van waardes en professionele naam is nie voorbehou in advance. Werkblad aan 'n nuwe naam. Byvoorbeeld, "Օ Report".

veranderlikes

Skryf die program outomaties in die sjabloon te vul, kies die notasie. Hulle sal gebruik word vir die veranderlikes:

  • NN- aantal van die huidige ry van die tabel;
  • TP en TF - beplande en werklike omset;
  • SF en SP - werklike en beplande totale koste;
  • IP en indien - beplande en werklike koste vlak.

Ons dui deur dieselfde letters, maar met 'n "voorvoegsel» Itog opeenhoping totale vir daardie kolom. Byvoorbeeld, ItogTP - Met betrekking tot die kolom getiteld, as "die beplande omset."

Oplossing van die probleem met behulp van VBA programmering

Die gebruik van hierdie notasie, kry ons die formule vir die afwyking. As jy wil die berekening uit te voer in% wat ons het (F - P) / P * 100, en in die bedrag van - (F - P).

Die resultate van hierdie berekeninge kan die beste wees net om "Excel" spreadsheet maak in die toepaslike selle.

Vir die uitkoms en prognose in werklikheid verkry deur formules ItogP = ItogP + P en ItogF = ItogF + F.

Vir afwykings gebruik = (ItogF - ItogP) / ItogP * 100 as die berekening uit as 'n persentasie gedra, en indien die totale waarde - (ItogF - ItogP).

Die resultate weer aangeteken in die toepaslike selle, so daar is geen rede om hulle te wys aan veranderlikes.

Voor die aanvang van 'n program te skep wat jy wil hê dat die werkboek te stoor, byvoorbeeld, onder die naam "Otchet1.xls".

Press "Skep 'n verslag tafel," jy moet druk net 1 keer nadat jy die kop inligting. Jy behoort te weet en ander reëls. In die besonder, die knoppie "Voeg 'n lyn" moet elke keer gedruk nadat die aangaan van die tabel van waardes vir elke aktiwiteit. Na die begin van al die vereiste om druk op die knoppie "Finish", en dan oorskakel na "Excel" in die venster data.

Nou dat jy weet hoe om die probleem op te los vir Excel met makros. Die vermoë om VBA gebruik Excel (sien voorbeelde van programme. Bo) en jy mag nodig wees om te werk in die omgewing van die gewildste op die oomblik, die teks redigeerder "Woord." In die besonder, deur die opname, soos aangedui in die begin van hierdie artikel, of deur te skryf kode vir die knoppies waardeur baie van die bedrywighede op die teks kan gedoen word deur te druk op die sleutels aan diens of deur die ikoon "View" en blad "Makro" te skep.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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