Praktische voorbeelden van VBA-programma's. Hoofd VBA-exploitanten - Voorwaardelijke exploitanten

Weinig mensen weten dat de eerste versie van het populaire Microsoft Excel-product in 1985 verscheen. Sindsdien heeft hij verschillende wijzigingen en in de vraag ervaren met miljoenen gebruikers wereldwijd. Tegelijkertijd werken veel werk alleen met een klein product van de mogelijkheden van deze tafelkunde en realiseren zich niet eens hoe ze de levensvaardigheden in Excel kunnen verlichten.

Wat is VBA.

Programmering in Excel wordt uitgevoerd door het programmeren van taal Visual Basic for Application, die oorspronkelijk is ingebed in de beroemdste tabelprocessor van Microsoft.

Zijn voordelen specialisten omvatten een vergelijkend ontwikkelingsgemak. Zoals oefeningen laat zien, kunnen zelfs gebruikers die geen professionele programmeervaardigheden hebben, de VBA AZA beheersen. De VBA-functies omvatten de uitvoering van het script in de Office-toepassingsomgeving.

Het nadeel van het programma is de problemen die verband houden met de compatibiliteit van verschillende versies. Ze zijn te wijten aan het feit dat de VBA-programmacode verwijst naar de functionaliteit die aanwezig is in de nieuwe versie van het product, maar afwezig is in de oude. Ook omvatten de minnen een overdreven hoge openheid van de code om de ongeautoriseerde persoon te veranderen. Microsoft Office, evenals IBM Lotus Symphony laten de gebruiker echter toe om de codering van de initiële code toe te passen en het wachtwoord te installeren om het te bekijken.

Objecten, collecties, eigenschappen en methoden

Het is met deze concepten die moeten omgaan met degenen die in de VBA-omgeving gaan werken. Allereerst is het noodzakelijk om te begrijpen wat een object is. In Excel steken het vel, een boek, cel en bereik in deze hoedanigheid. Deze objecten hebben een speciale hiërarchie, d.w.z. gehoorzaam elkaar.

De belangrijkste is applicatie die overeenkomt met het Excel-programma zelf. Volg vervolgens de werkmappen, werkbladen, evenals bereik. Om bijvoorbeeld toegang te krijgen tot de A1-cel op een specifiek blad, moet u het pad opgeven waarin rekening wordt gehouden met de hiërarchie.

Wat betreft het concept van "collectie", dan is dit een groep objecten van dezelfde klasse, die in het record een soort chartobjecten heeft. De individuele elementen zijn ook objecten.

Het volgende concept is eigenschappen. Ze zijn het nodige kenmerk van elk object. Voor het bereik is bijvoorbeeld waarde of formule.

Methoden zijn teams die tonen wat te doen. Bij het schrijven van code in VBA moeten ze van het objectpunt worden gescheiden. Zoals bijvoorbeeld in de toekomst zal worden getoond, gebruikt u bijvoorbeeld bij het programmeren in "Excel" de cellenopdracht (1.1). Selecteer. Het betekent dat u een cel moet kiezen met coördinaten.

Samen met het wordt vaak gebruikt door selectie.Clearcontenten. Zijn uitvoering betekent het reinigen van de inhoud van de geselecteerde cel.

Hoe te beginnen

Dan moet u naar de VB-toepassing gaan, waarvoor het voldoende is om de toetscombinatie "Alt" en "F11" te gebruiken. Verder:

  • klik in de menubalk in de bovenkant van het venster op het pictogram naast het Excel-pictogram;
  • kies het Mudule-commando;
  • opslaan door op het pictogram beeld te klikken;
  • ze schrijven, laten we zeggen, schets van de code.

Het ziet er zo uit:

Subprogramma ()

"Onze code

Houd er rekening mee dat de lijn "Onze Code" -lijn in andere kleur (groen) wordt gemarkeerd. De reden in de apostrof die aan het begin van de lijn wordt geleverd, wat betekent dat het commentaar volgt.

Nu kunt u een code schrijven en een nieuwe tool maken in VBA Excel (voor voorbeelden van programma's, zie hieronder). Natuurlijk zullen degenen die bekend zijn met Azam Visual Basic veel gemakkelijker. Zelfs degenen die hen echter niet hebben, zullen desgewenst vrij snel beheersen.

Macro's in Excel

Deze naam is verborgen door programma's geschreven in visuele basis voor toepassing. Aldus is het programmeren in Excel het creëren van macro's met de gewenste code. Dankzij deze functie is de tabelprocessor van Microsoft zelf ontwikkeld, aanpassing aan de vereisten van een bepaalde gebruiker. Na het begrijpen van modules voor het schrijven van macro's, kunt u doorgaan met de overweging van specifieke voorbeelden van VBA Excel-programma's. Het is het beste om te beginnen met de meest elementaire codes.

Voorbeeld 1.

Taak: schrijf een programma dat de inhoud van de inhoud van één cel zal kopiëren en vervolgens naar een andere schrijven.

Voor deze:

  • open het tabblad Weergave;
  • ga naar het pictogram "Macro's";
  • klik om "Macro op te nemen";
  • vul het ontdekte formulier in.

Voor de eenvoud blijft het veld "Macro" in het veld "Macro" en in de veld "Combinatie van het toetsen", bijvoorbeeld, HH (dit betekent dat de opdracht "Ctrl + H" Blitz kan worden gestart. Druk op Enter.

Nu de macro-opname al actief is, maakt het de inhoud van elke cel naar de andere. Keer terug naar het originele pictogram. Klik op "Macro-record". Deze actie betekent het voltooien van het programma.

  • ga terug naar de "macro's" -tekenreeks;
  • de lijst wordt gekozen "macro 1";
  • druk op "Uitvoeren" (dezelfde actie begint met het starten van de CTRL + HH-toetscombinatie).

Als gevolg hiervan gebeurt een actie, die tijdens het macro-record is uitgevoerd.

Het is logisch om te zien hoe de code eruit ziet. Om dit te doen, ga dan terug naar de "Macro's" -tekeningen en klik op "Wijzigen" of "Inloggen". Als gevolg hiervan blijkt het in de VBA-omgeving. Eigenlijk is de macrocode zelf tussen sub macro 1 () en eind sub.

Als het kopiëren werd uitgevoerd, bijvoorbeeld, van cel A1 tot C1-cel, dan ziet een van de rijen van de code eruit als bereik ("C1"). Selecteer. Vertaald Dit ziet eruit als "bereik (" C1 "). Allocate", met andere woorden, overgangen naar VBA Excel, in de C1-cel.

Het actieve deel van de Code voltooit de opdracht ActiveSheet.paste. Het betekent het opnemen van de speciale cel (in dit geval A1) in de geselecteerde cel C1.

Voorbeeld 2.

VBA-cycli helpen bij het creëren van verschillende macro's in Excel.

VBA-cycli helpen verschillende macro's te creëren. Stel dat er een functie is y \u003d x + x 2 + 3x 3 - COS (X). Het is vereist om een \u200b\u200bmacro te maken om zijn schema te verkrijgen. Dit kan alleen worden gedaan met behulp van VBA-cycli.

Voor de initiële en uiteindelijke waarde van het argument van de functie Neem x1 \u003d 0 en x2 \u003d 10. Bovendien moet u een constante - de waarde voor de wijziging van het argument en de initiële waarde voor de meter invoeren.

Alle voorbeelden van VBA Excel-macro's worden gemaakt door dezelfde procedure die hierboven wordt gepresenteerd. In dit specifieke geval lijkt de code eruit:

Subprogramma ()

shag \u003d 0.1.

Doe terwijl x1.< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y \u003d x1 + x1 ^ 2 + 3 * x1 ^ 3 - cos (x1)

Cellen (I, 1). Value \u003d X1 (de waarde X1 is geschreven naar de cel met coördinaten (I, 1))

Cellen (I, 2). Value \u003d y (waarde y wordt opgenomen in een cel met coördinaten (I, 2))

i \u003d I + 1 (de teller is geldig);

x1 \u003d x1 + shag (argument varieert per stap);

Einde sub.

Als gevolg van de lancering van deze macro tot "Excel" verkrijgen we twee kolommen, in de eerste waarvan de waarden voor x zijn opgenomen, en in de tweede - voor y.

Dan wordt de grafiek in de weg gebouwd, standaard voor "Excel".

Voorbeeld 3.

Om cycli in VBA Excel 2010 te implementeren, zoals in andere versies, samen met de reeds gepresenteerde doen tijdens het ontwerpen, voor.

Overweeg een programma dat een kolom zal maken. In elke cel worden de vierkanten van de overeenkomstige lijnnummers opgenomen. Met behulp van de voor het ontwerp kunt u het zeer kort schrijven, zonder het gebruik van de teller.

Eerst moet u een macro maken zoals hierboven beschreven. Schrijf vervolgens de code zelf. Wij zijn van mening dat we geïnteresseerd zijn in waarden voor 10 cellen. De code is als volgt.

Voor i \u003d 1 tot 10 volgende

Het team wordt vertaald in "Menselijke" taal, hoe "1 tot 10 in één stap" herhalen van 1 tot 10.

Als de taak een kolom met vierkanten ontvangt, bijvoorbeeld, bijvoorbeeld alle oneven getallen van het bereik van 1 tot 11, schrijf dan:

Voor I \u003d 1 tot 10 Stap 1 Volgende.

Hier is stap een stap. In dit geval is het gelijk aan twee. Standaard betekent de afwezigheid van dit woord in de cyclus dat de stap single is.

De verkregen resultaten moeten in cellen worden bewaard met het nummer (I, 1). Vervolgens wordt met elk begin van de cyclus met toenemende I, het nummer op de rij automatisch groeit. Aldus zal de codeoptimalisatie optreden.

In het algemeen zal de code eruit zien:

Subprogramma ()

Voor I \u003d 1 tot 10 Stap 1 (u kunt gewoon schrijven voor i \u003d 1 tot 10)

Cellen (I, 1) .Value \u003d i ^ 2 (d.w.z. de waarde van het vierkant I wordt opgenomen in de cel (I, 1))

Volgende (speelt in zekere zin de rol van de teller en betekent een nieuwe start van de cyclus)

Einde sub.

Als alles correct wordt gedaan, inclusief de opname en lancering van de macro (zie de bovenstaande instructie), wanneer deze wordt genoemd, elke keer dat de kolom van de opgegeven grootte wordt verkregen (in dit geval, bestaande uit 10 cellen).

Voorbeeld 4.

In het dagelijks leven, volledig en er is een behoefte om dit of die beslissing te nemen, afhankelijk van een voorwaarde. Doe niet zonder hen en in VBA Excel. Voorbeelden van programma's waarbij de verdere vooruitgang van het algoritme is geselecteerd, en niet in eerste instantie wordt niet vooraf bepaald, gebruik het vaakst de structuur van de IF ... dan (voor complexe gevallen) als ... dan ... Einde als.

Overweeg een specifiek geval. Stel dat u een macro moet maken voor "Excel" in de cel met coördinaten (1.1) Het is opgenomen:

1, als het argument positief is;

0, als het argument nul is;

-1, als het argument negatief is.

Het creëren van een dergelijke macro voor "Excel" begint op de standaardweg, door het gebruik van de "Hot" -toetsen Alt en F11. De volgende code is geschreven:

Subprogramma ()

x \u003d cellen (1, 1) .Value (deze opdracht wijst X-celgehalte toe met coördinaten (1, 1))

If x\u003e 0 dan cellen (1, 1). Value \u003d 1

If x \u003d 0 dan cellen (1, 1) .Value \u003d 0

Als X.<0 Then Cells(1, 1).Value = -1

Einde sub.

Het is nog om de macro te starten en in de "Excel" de gewenste waarde voor het argument te krijgen.

VBA-functies

Zoals je had kunnen opgemerkt, is het programmeren in de meest bekende tafel Microsoft-processor niet zo moeilijk. Vooral als u leert hoe u VBA-functies toepast. In totaal, in deze taalprogrammeringstaal, speciaal gemaakt voor het schrijven van toepassingen in "Excel" en Word, ongeveer 160 functies. Ze kunnen worden onderverdeeld in verschillende grote groepen. Het:

  • Wiskundige functies. Ze toepassen op het argument, de waarde van de cosinus, het natuurlijke logaritme, het hele deel, enz.
  • Financiële functies. Dankzij hun beschikbaarheid en het gebruik van programmering in Excel, kunt u effectieve hulpmiddelen ontvangen voor boekhoudkundige en financiële berekeningen.
  • Massabehandelingsfuncties. Deze omvatten array, isarray; Lbound; Ubound.
  • VBA Excel functioneert voor string. Dit is een vrij talrijke groep. Het omvat bijvoorbeeld de ruimte-functies voor het maken van een tekenreeks met een aantal ruimtes die gelijk zijn aan het gehele argument of ASC om tekens in ANSI-code te vertalen. Ze worden allemaal veel gebruikt en laten je met lijnen werken om 'Excel' te maken, het maken van applicaties die veel gemakkelijker maken met deze tafels.
  • Gegevenstype Conversiefuncties. Cvar retourneert bijvoorbeeld de expressie-argumentwaarde door deze naar het variante gegevenstype te converteren.
  • Kenmerken Werk met datums. Ze breiden de standaard aanzienlijk uit, de functie van de weekdagen retourneert de naam (volledige of gedeeltelijke) dag van de week door het aantal. Nog nuttig is timer. Het geeft het aantal seconden dat van middernacht naar een specifiek moment van de dag is gepasseerd.
  • Functies voor het omzetten van een numeriek argument naar verschillende nummersystemen. LAND geeft bijvoorbeeld een cijfer uit in de octale weergave.
  • Formatterende functies. De belangrijkste van hen is formaat. Het retourneert een waarde van het varianttype met een uitdrukking die is geformatteerd volgens de instructies die zijn opgegeven in de beschrijving van het formaat.
  • enz.

De studie van de eigenschappen van deze functies en hun toepassing zal de reikwijdte van het gebruik van "Excel" aanzienlijk uitbreiden.

Voorbeeld 5.

Laten we proberen om meer complexe taken op te lossen. Bijvoorbeeld:

Een papieren document van het verslag van het werkelijke niveau van bedrijfskosten wordt gegeven. Vereist:

  • ontwikkel zijn sjabloondeel door middel van een tabelprocessor "Excel";
  • maak een VBA-programma, dat de brongegevens zal vragen om het te vullen, de nodige berekeningen uit te oefenen en de bijbehorende cellen van de sjabloon te vullen.

Overweeg een van de oplossingen.

Een sjabloon maken

Alle acties worden uitgevoerd op een standaardblad in Excel. Vrije cellen zijn gereserveerd voor het maken van gegevens over de naam van de bedrijfsverbruikers, de kosten van de kosten, hun niveau, omzet. Aangezien het aantal bedrijven (samenlevingen), ten opzichte van waarnaar het verslag wordt opgesteld, niet is vastgelegd, worden de cellen voor het maken van waarden voor de resultaten en fio van de specialist niet van tevoren reserveren. Het werkblad krijgt een nieuwe naam toegewezen. Bijvoorbeeld, "օ ton".

Variabelen

Om een \u200b\u200bprogramma te schrijven voor het automatisch invullen van de sjabloon, moet u notatie selecteren. Ze worden gebruikt voor variabelen:

  • Nn-nummer van de huidige lijn van de tabel;
  • TP en TF - geplande en daadwerkelijke omzet;
  • SF en SP - de werkelijke en geplande kosten van kosten;
  • IP en indien zijn gepland en eigenlijk het kostenniveau.

Duid op dezelfde letters, maar met het "voorvoegsel" van de iTOG-accumulatie van het resultaat van deze kolom. ITOGTP heeft bijvoorbeeld betrekking op een kolom van een tabel als getiteld als "geplande omzet".

Oplossing van de taak met behulp van programmering op VBA

Met behulp van de geïntroduceerde notatie krijgen we formules voor afwijkingen. Als u moet berekenen in% We hebben (f - p) / p * 100, en in SUM - (F - P).

De resultaten van deze berekeningen kunnen het best worden gedaan aan de juiste cellen van de speciale tafel.

Voor resultaten in feite en prognose wordt het verkregen door ITOGP \u003d ITOGP + P en ITOGF \u003d ITOGF + F.

Voor afwijkingen Gebruik \u003d (ITOGF - ITOGP) / ITOGP * 100, als de berekening wordt uitgevoerd als een percentage, en in het geval van een totale waarde - (ITOGF - ITOGP).

De resultaten worden onmiddellijk opgenomen in de overeenkomstige cellen, dus het is niet nodig om ze aan variabelen toe te wijzen.

Voordat u het programma wordt gestart, moet u de werkmap opslaan, bijvoorbeeld "Report1.xls" genoemd.

De tabelsleutel maken moet slechts 1 keer worden ingedrukt nadat u de header-informatie hebt ingevoerd. Andere regels moeten worden gevoeld. In het bijzonder moet de knop "String" toevoegen elke keer worden ingedrukt nadat u de waarden in de tabel hebt ingevoerd voor elk type activiteit. Nadat u alle gegevens hebt verbeterd, moet u op de knop "Finish" klikken en vervolgens overschakelen naar het Excel-venster.

Nu weet je hoe je taken op te lossen voor Excel met Macro's. Het vermogen om VBA Excel aan te brengen (zie voorbeeldvoorbeelden zie hierboven) kunnen ook nodig zijn om in de omgeving van de populairste woordteksteditor te werken. In het bijzonder is het mogelijk door te schrijven, zoals getoond aan het begin van het artikel, of door het schrijven van de code om de menuknoppen te maken, dankzij welke veel van de tekstbewerkingen kunnen worden uitgevoerd door op de taaksleutels of via te drukken Het tabblad "Bekijken" en het MacroS-pictogram.

De inhoud van deze pagina zal constant toenemen ...
  1. Het calculatorprogramma "erecties van nummers is groot."

    Implementeer nauwkeurige berekening van de constructie van grote graden van eenduidige nummers (van 2 tot 9) met lange rekenkunde.

  2. Van het forum van Jonny323. VBA Word.

    Hallo iedereen. Macro is erg nodig, ik denk niet moeilijk: de eerste pagina afdrukken in 6 exemplaren en 2 pagina's in 2 exemplaren. Dank u.

  3. ProgressBar op het formulier. VBA Excel

    Een element van controle die de voortgangsstap toont (hoeveel werk uit 100% is gedaan) ...

  4. Statistische berekeningen in de geselecteerde tekst. VBA Word.

    Maak een macro in Word, die het aantal woorden, komma's en punten in een willekeurige tekst zal bepalen.
    Met woorden bellen we de groepsgroep gescheiden door spaties (een of meer) en bevatten geen ruimtes in onszelf. Binnen het woord kan geen punten of komma's zijn. Saaiheid wordt niet geteld per punt ...

  5. Statistische berekeningen in de tekst van het document. Gebruiksformatie gebruiken voor gegevensinvoer. VBA Word.

    Maak een programma in Word - in het formulier, de gebruiker binnenkomt een woord of een zin in het formulier en het programma scant de volledige tekst en voegt het woord (de uitdrukking) aan het einde van het document in, naast waarna alle pagina's worden vermeld waarop dit woord wordt gevonden. Vangen paginanummers zijn niet toegestaan. Dat wil zeggen, als het opgegeven woord op pagina 5 drie keer optreedt, wordt nummer 5 in de uitvoer slechts één keer aangegeven. Het formulier moet bestaan \u200b\u200buit de volgende componenten:
    - 1 tekstvak om het woord (frase) in te voeren;
    - 1 knop om het programma te verlaten;
    - 1 knop om het resultaat in het document te zoeken en in te voegen;
    - Component van het label type met toelichting op invoerreeks;
    - Bovendien kunnen er componenten zoals frame op het formulier zijn;

  6. Werk met Listbox (Excel). Bindend, sorteren, meerkeuze ...

  7. Japanse Sudoku Puzzle Solution-programma (Excel)

  8. Vraaguitvoering Macro's (d.w.z. het vormen van een nieuwe tabel uit Excel-database)

  9. Hoara sorteren (algoritme met wikipedia.org)

    Een van de snelste sorteermethoden.
  10. Sorteren samenvoegen (met behulp van Hoara)

    Een van de snelste en optimale sorteermethoden.
  11. VBA Excel: Menselijk Biorhythm Calculation-programma

  12. Voor blackarrow met programmeursforum.ru

  13. Bepalen welk coördinaat kwartaal
    punt met opgegeven coördinaten A (A, B) Falls. VBA Excel.

  14. Presentatie van een geheel getal in woorden VBA Excel.

  15. Logica.

    Oplossing van de vierkante vergelijking.
  16. VBA Excel.

  17. VBA Excel. De taak van de driehoek. Array, cyclus, logica.

    Volgens de opgegeven dimensies van de drie zijden van de driehoek - om zijn uiterlijk te bepalen (rechthoekig, stom, scherp of onmogelijk om te bouwen).
  18. Wekker in Excel

  19. VBA Excel.

  20. VBA Excel.

  21. VBA Excel.

    Macro, die zich in het toegewijde bereik bevindt Alle negatieve getallen zijn blauw, positief - rood, nul - wit (of geel).

  22. VBA Excel. Hoe bladelementen verbergen of weergeven.

    Soms moet u zich verbergen voor de gebruiker Sommige mogelijkheden (in de regel is de plaatsing van gegevens verborgen):
    - Bezoek andere vellen van dit boek (beter niet om erover te weten);
    - Scroll (horizontaal en verticaal) blad
    - Lees en verander formules in de bladcellen
    - Verberg de lijn van kolommen en rijen
    - Verberg de koppen (titels en cijfers) kolommen en rijen
  23. VBA Excel. Voeg het menu-item toe en verwijderen.

    Het is niet moeilijk om uw eigen item in het Excel-menu (Verwijder) toe te voegen. Dit wordt allemaal in de hulp beschreven.
    Maar veel interessanter om deze werkmacro te instrueren.
    Dan is het mogelijk wanneer u een specifiek document opent om een \u200b\u200bspeciaal, individueel menu te vormen en na het sluiten van het om het Excel-menu naar de initiële status te brengen. (Dit codevoorbeeld werkt alleen in MS Excel 2003, en in 2007 is het noodzakelijk om de namen van de bedieningspanelen te wijzigen)
  24. VBA Excel-celmachines.

  25. Gouden sectie van VBA Excel.

  26. Plaatsen van maximale en minimumwaarden van de cellen van het toegewijde bereik vervangen. VBA Excel

    Ontwikkel een programma of gebruikersformulier voor het vinden en permutatie van plaatsen met elementen met de maximale en minimumwaarde van het toegewezen bereik van de werktafel

  27. De rij-functie retourneert de vierkanten van de eenvoudige nummers van nul naar een bepaald aantal. VBA Excel

    Maak een functie van een natuurlijk nummer n in Excel en retourneer de vierkanten van alle priemgetallen van 0 naar een gegeven natuurlijk N.

  28. Gebruikersformulier (Gebruikerformulier) om gegevens over leningen voor een commerciële bank in te voeren. VBA Excel

    Organiseer invoerinformatie in een tabel met gegevens over de uitgifte van langetermijnleningen door de commerciële bank met de volgende gegevens: de creditcode van de lening, de naam van de crediteur van de lening, de datum van het uitgeven van een lening, de term (3-4 perioden), die een lening (in dagen), percentage, hoeveelheid krediet, de datum van betaling van rente op de lening heeft uitgegeven.

  29. Gebruikersformulier (UserForm) om toeristische registratiegegevens in te voeren. VBA Excel

    Op deze plek ...

De volgende eenvoudige voorbeelden van Excel Macros illustreren sommige mogelijkheden en technieken die worden beschreven in een Excel VBA-tutorial.

Excel Macro: Voorbeeld 1

Aanvankelijk, deze procedure Sub. Het werd getoond als een voorbeeld van het gebruik van opmerkingen in de VBA-code. Hier kunt u echter ook zien hoe variabelen worden verklaard, hoe de Excel-cellen werken, met behulp van de cyclus Voor, voorwaardelijke operator Als En het scherm van het berichtvenster weergeven.

"De subprocedure voert een zoekopdracht uit voor een cel die een gespecificeerde string bevat" in het bereik van de A1-cellen: A100 van de Active Sheel Sub Find_String (SFINDTEXT ALS STRUGE) DIM I ALS INTEGER "Het gehele getal van gehele getal wordt gebruikt in de voor DIM-ingEROALD ALS INTEGER CYCLUSE "GEEN TYPE TYPE GEWECHTEN VOOR OPSLAG INGESTELD \u003d 0 RESULTATEN" Views één na een andere cel A1: A100 tot de SFindtext voor I \u003d 1 tot 100 als cellen (I, 1) gevonden blijken te worden gevonden. Als de wedstrijd met De opgegeven string wordt gevonden "We sparen het huidige lijnnummer en de afslag van de voor Irobecy \u003d IK EXIT VOOR EINDE Als ik fiets." We informeren de gebruiker in het pop-upvenster. Is de gewenste reeks gevonden "als de gewenste lijn wordt gevonden Gevonden, geeft u op welke cel indien het ingesteld is als Irownnummer \u003d 0 dan MSGBOX "Row" & SFINDTEXT & "DO NOT FLULE" MSGBOX "ROW" & SFINDTEXT & "Gevonden in Cel A" & Inrowning Einde als Einde Sub

Excel Macro: Voorbeeld 2

Volgende procedure Sub. - Voorbeeld van het gebruik van een cyclus Doen terwijl. Hier kunt u ook zien hoe variabelen worden gedeclareerd, werken met verwijzing naar Excel-cellen en de toepassing van de voorwaardelijke exploitant Als.

"De subprocedure geeft de Fibonacci-nummers weer, niet meer dan 1000 sub fibonacci () Dim I als integer" Meteer om te verwijzen naar de positie van het element in de DIMFIB als integer-sequentie "slaat de huidige waarde op van de DIM IFIB_NEXT als integer-sequentie" Slaat de volgende waarde van de DIM ISTEP op als integer Sequence "Store" slaat de grootte van de volgende increment op "Initialiseer de variabelen I en IFIB_NEXT I \u003d 1 IFIB_NEXT \u003d 0" DO TERWIJL DOEN WORDEN UITGEBREID Fibonacci zal niet hoger zijn dan 1000 DOEN terwijl IFIB_NEXT< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

Excel Macro: Voorbeeld 3

Deze procedure Sub. Kijkt door cellen kolommen EEN. Actief blad tot de lege cel ontmoetingen. Waarden worden opgenomen in een array. Deze eenvoudige excel-macro toont het werk met dynamische arrays, evenals met behulp van een cyclus Doen tot.. In dit voorbeeld zullen we geen acties met een array uitvoeren, hoewel in de echte programmeerpraktijken nadat de gegevens in de array worden vastgelegd, worden dergelijke acties meestal gepleegd.

"Subprocedure slaat de waarden van de werkelijke velcellen in de reeks SUB GETCELLUS () ARRAY of Dim Irow als Integer," slaat het nummer van de huidige lijn DIM DCELLVALUUUUUUUUUUUS () op als dubbele "array voor het opslaan van de waarden van de Irowcellen \u003d 1 Redim DcellValues \u200b\u200b(1 tot 10) "Cyclus Doe totdat een sequentieel van de actieve velkolom achtereenvolgens wordt" en haalt hun waarden uit in een array totdat het leeg is totdat IOW, 1)) Wordt aangetroffen (cellen (Irou, 1)) "Wij controleren of de SCELLVALUES-array voldoende heeft", zo niet - we verhogen het MAXIF-massief op 10 met behulp van Redim als Ubound (DcellValues)< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

Excel Macro: Voorbeeld 4

In dit voorbeeld wordt de procedure Sub. Leest waarden uit kolom EEN. Werkblad Blad2. en voert rekenkundige bewerkingen met hen uit. De resultaten worden vastgelegd in de kolomcel EEN. Op een actief werkblad. Deze macro toont het gebruik van Excel-objecten. In het bijzonder wordt de procedure getekend Sub. Naar het object Kolommen.en getoond hoe de toegang tot dit object wordt uitgevoerd via het object Werkblad.. Er wordt ook aangetoond dat bij het verwijzen naar een cel of bereik van cellen op een actief vel, de naam van dit blad bij het schrijven van een link niet noodzakelijk is.

"De subprocedure met een cyclus leest de waarden in de kolom Operator Sheet 2," voert met elke waarde van rekenkundige bewerkingen en schrijft het resultaat in "kolom A Active Work Sheet (LIST1) Sub Transfer_cola () DIM I AS Teger DIM COL AS RANGE DIM DVAL ALS DUBBELE "Wijs een variabele COL-kolom toe Een werkbladblad 2 SET COL \u003d lakens (" LIST2 "). Kolommen (" A ") I \u003d 1" met behulp van een cyclus Lees de COL-celwaarden van de COL-kolom Cell-cel. Vervolgens zal "de lege cel bijeenkomen tot Ietty (Col.cells (I))" we uitvoeren van rekenkundige bewerkingen op de waarde van de huidige DVAL \u003d col.cells (I) cel (I) .Value * 3 - 1 " Volgende opdracht schrijft het resultaat dat resulteert in de lijst Naam van de actieve werkbladkolom "in de referentielink Geen behoefte, aangezien dit een actief vel is. Cellen (I, 1) \u003d DVAL I \u003d I + 1 LOOP-einde-sub

Excel Macro: Voorbeeld 5

Deze macro toont een voorbeeld van een VBA-code die een Excel-evenement volgt. De gebeurtenis waarnaar de macro is bevestigd, is elke keer dat de cel of het bereik van cellen op het werkblad is geselecteerd. In ons geval, bij het selecteren van een cel B1.Het scherm geeft een bericht weer met een bericht.

"Deze code toont een venster met een bericht als de B1 Private Sub Worksheet_SelectionChange (BYVAL-doelwit als bereik) is geselecteerd op het huidige werkblad (BYVAL-doelwit als bereik) cel dan" als de B1-cel is geselecteerd, voert u de benodigde actie MSGBOX uit " U hebt een B1-cel "Einde als Eind Sub gekozen

Excel Macro: Voorbeeld 6

Het voorbeeld van deze procedure toont het gebruik van operators Op fouten en Hervat Voor foutbehandeling. Deze code toont ook een voorbeeld van het openen en lezen van gegevens uit het bestand.

"Subprocedure wijst de argumenten van VAL1 en VAL2 en VAL2 toe van de A1- en B1-cellen" uit het Werkboek Data.xlSX in de map C: \\ Documents en Instellingen Sub SET_VALUES (VAL1 als Double, Val2 als dubbele) Dim DataWorkbook als Werkmap op Fout Goto-foutafhandeling Open het werkboek met de gegevens van Set DataWorkbook \u003d Werkbooks.Open ("C: \\ Documents and Instellingen \\ Data") "Wij toewijzen VAL1- en VAL2-variabelenwaarden van het opgegeven werkboek VAL1 \u003d lakens (" LIST1 "). Cellen (1, 1) VAL2 \u003d lakens (" "LIST1"). Cellen (1, 2) DataWorkbook.close EXIT SUB ERRUMHANDING: "Als het bestand niet wordt gevonden, wordt de gebruiker gevraagd om de zoekopdracht te plaatsen Bestand "in de gewenste map en vervolgens doorgaan met de MSGBOX Macro-uitvoering" DATA.XLSX-bestand is niet gevonden! "& _" Voeg een werkmap toe aan de map C: \\ Documenten en instellingen en klik op OK "End Sub

Doel van werk -De studie van de belangrijkste operatoren en de implementatie van de belangrijkste programmeringsontwerpen in de VBA-taal.

4.1 De belangrijkste stadia van het werken met VBA-programma's in Excel

Om het VBA-programma voor te bereiden en uit te voeren, moet u het volgende uitvoeren:

    selecteer in Excel de opdracht in het menu Service - Macro - EditorVisueelBasic.;

    selecteer in het venster dat verschijnt, selecteert u de opdracht in het menu Invoegen.Module.. Een module is gemaakt, d.w.z. simplistic speaking, het venster wordt geopend waarin u de tekst van het programma kunt invoeren.

In het begin van de module kan de instructie aangeven KeuzeExpliciet.. Als het is opgegeven, moeten alle variabelen die in het programma worden gebruikt, in de operator te verklaren Dim (Zie subsectie 4.3) voor meer informatie hierover.

In sommige gevallen, afhankelijk van de configuratie van de VBA-omgeving, instructie KeuzeExpliciet. Het wordt automatisch aan het begin van de module aangegeven. Als de programmeur variabelen wil gebruiken zonder ze in de operator te verklaren Dim, Instructie KeuzeExpliciet. U moet verwijderen.

Om het programma te starten om uit te voeren, moet u in het opdrachtmenu selecteren Uitvoeren - Sub / userform uitvoeren.

4.2 Eenvoudigste voorbeeld van een VBA-programma

Voorbeeld 4.1. - Programma, een inkomend nummer eEN. In de opgegeven graad b..

Dim a als single, b als single

a \u003d Inputbox ("Voer de basis in:")

b \u003d Inputbox ("Voer de mate in:")

x \u003d A ^ B 'Oefening

MSGBOX ("het resultaat is" & x)

Hier is een woord Sub. geeft het begin van de procedure aan; haar naam in dit geval is primer.4_1 . Het VBA-programma bestaat altijd uit een of meer procedures (in dit geval, van één).

Het symbool '(enkele offerte) geeft het begin van de opmerking aan. Commentaartekst kan elk zijn.

Dim - Klasse AD-statement. In dit geval is het aangegeven dat variabelen eEN. en b. Dit zijn type Single. die. Deze kunnen zowel als fractionele nummers zijn. Meer gegevenstypen en variabelenverklaring worden besproken in subsectie 4.3.

Invoerveld. - functie voor het invoeren van de waarde van de variabele. Lijn eEN. = Invoerveld. ("Voer de basis in:”) betekent dat de waarde van de variabele is ingevoerd eEN.; Tegelijkertijd wordt een bericht weergegeven op het scherm. "Voer de basis in:". Lijn x. = eEN.^ b. - Toewijzingsoperator: de waarde van de rechterkant wordt berekend (in dit geval, de variabele eEN. Het wordt in een diploma opgericht b.) en het resultaat wordt toegewezen aan de variabele opgegeven aan de linkerkant (in dit geval - variabele x.). Lijn MSGBOX.("Het resultaat is" &x.) betekent dat een bericht op het scherm wordt weergegeven "Het resultaat is gelijk en waarde van de variabele x..

Opmerking - teken & in functie MSGBOX. Ontworpen voor koppeling meerdere gegevensitems die in dit voorbeeld moeten worden weergegeven - lijnen "Het resultaat is gelijk en variabele x.. Vergelijkbaar met teken & kan worden gebruikt in functies Invoerveld. (Voorbeelden van een dergelijk gebruik zullen later worden gegeven). Voor vertrouwd & En daarna moeten de ruimtes worden opgegeven.

In één regel kunt u verschillende VBA-taalexploitanten plaatsen. Hiervoor zijn ze gedeeld door de symbolen "Colon". Het programma van Voorbeeld 4.1 kan dus bijvoorbeeld als volgt worden opgenomen:

'Eerste voorbeeld van een programma op VBA

Dim a als single, b als single

a \u003d Inputbox ("Voer de basis in:"): B \u003d Inputbox ("Voer de indicator in:")

x \u003d a ^ b: msgbox ("Het resultaat is" & x) "de uitroeiing en uitvoer van het resultaat

In het beschouwde voorbeeld werd een procedure genaamd het subprogramma gebruikt. Een dergelijke procedure begint met het woord Sub.. In het VBA-programma is er altijd ten minste één subprogrammaprocedure. Bovendien is er in de VBA-taal een ander type procedure - functies. De procedure-functie begint met het Woord Functie.. Het gebruik van dergelijke procedures zal worden overwogen in subsectie 4.9.


Boek: Gebruik macro's om uit te blinken.

Pagina's: 507

Formaat: DJVU.
De grootte: 8.02 MB.

Ondanks de krachtige functionaliteit die wordt verstrekt door de Excel-gebruikersinterface, zijn er een aantal taken, waarvan de uitvoering alleen door programmatisch mogelijk is. Het "gebruik van macro's tot Excel" is een inleiding tot het programmeren naar Excel VBA, met voorbeelden van het oplossen van verschillende praktische taken die voortvloeien uit de werking in Excel.Het materiaal van het boek is ontworpen voor Excel-gebruikers, evenals programmeurs die niet bekend zijn met het Excel-objectmodel. Samen met secties die zijn gewijd aan de ontwikkeling van macro's voor Excel 2002, wordt de inleidende cursus bij het schrijven van macro's en programma's in Excel uitgevoerd.

Boek: Intensieve programmeercursus in Excel voor het weekend

Uitgever: Dialectiek
Pagina's: 421
Formaat: DJVU.
De grootte: 12.6 MB
Kwaliteit: Normaal
Taal: Russisch
Genre: programmeren
Het jaar van publicatie: 2004
ISBN: 5-8459-0687-3.

Microsoft Excel-functies zijn niet alleen beperkt tot het werk met gegevenstabellen. Door middel van het verwerken van elektronische tabellen verbergt u een sterke programmeertaal - VBA (Visual Basic for Applications). Bijna, bijna een gebruiker heeft echter de mogelijkheid om programma's in de VBA-taal te schrijven om de meest heterogene taken in Excel te op te lossen - van de mechanische uitvoering van berekeningen voordat u een systeem maakt voor het invoeren van gegevens met zijn eigen schermformulieren en met de waarschijnlijkheid van het controleren van de juistheid van de waarden van de waarden.

Boek: Programmeren op VBA 2002

Kwaliteit: Normaal
Taal: Russisch
Genre: programmeren

Het boek bevat een programmeercursus op visuele basis voor toepassingen (VBA), die de basistaal is in Microsoft Office-toepassingen (Word, Excel, Access, PowerPoint, FrontPage, Visio, enz.). Het boek is ontworpen voor beginners om in Windows te programmeren met behulp van Word-, Excel-, PowerPoint-objecten.Een deel van het boek is gewijd aan de ontwikkeling van kantoortoepassingen met behulp van databases die zowel in afzonderlijke bestanden als op externe servers zijn opgeslagen.Het materiaal van het boek is genoeg om de grondslagen van de Visual Basic-taal te bestuderen en eenvoudige macro's te maken om het routine-herhalingswerk te automatiseren met documenten, spreadsheets, diagrammen, presentaties, enz., En om vrij complexe database-verwerkingstoepassingen te ontwikkelen met behulp van Dialoogvensters die de gebruiker bieden, is de modernste interface betekent.De meeste voorbeelden in het boek zijn gewijd aan actuele kwesties van commerciële activiteiten, dus het boek zal zeer nuttige managers van verschillende niveaus zijn, die blijkbaar zowel Microsoft Office als de ingebouwde VBA-programmeertaal is bedoeld.
Toepassingen aan het einde van het boek kunnen dienen als een handige map bij het werken zowel met VBA als met een gewone VB.

Boek: Professionele programmering op VBA in Excel 2003
John Wacmenbach
Uitgever: Williams
Formaat: PDF.
De grootte: 11 MB
Kwaliteit: Uitstekend
Taal: Russisch
Het jaar van publicatie: 2005
ISBN: 5-8459-0771-3.
Naar het boek bijgevoegde schijf

Excel is veel boeken geschreven. Maar dit boek is speciaal - erin wordt de ontwikkeling van toepassingen van spreadsheets in een brede context beschouwd. VBA is slechts een van de componenten van de ontwikkelingsomgeving van aangepaste toepassingen, hoewel behoorlijk significant. Dit boek helpt u bij het begrijpen van de intricacies van het ontwikkelen van toepassingen met VBA. Het beschrijft tal van VBA-talen, de capaciteiten en het gebruik van de omgeving. In principe krijgt u een overzicht van de programma-mogelijkheden, dan wordt u gevraagd om de concepten van VBA-programmering te definiëren en vervolgens kennis te maken met de taal zelf. Als u een beginnende programmeur op VBA bent, vindt u in deze publicatie alle nodige informatie die nodig is voor verder werk. Als u al een benijdenswaardige ervaring heeft met VBA, dan zal dit boek uw kennis verrijken en verhogen, het aanvullen met nieuwe technieken en voorbeelden uit het echte leven.

PDF-versie is bewerkt en vriendelijk verstrekt door de deelnemer.

Boek: :
John Wacmenbach
Uitgever: Wiley
Formaat: PDF.
Pagina's: 1308
De grootte: 11.9 MB
Kwaliteit: Uitstekend
Taal: Engels
Het jaar van publicatie: 2010
Dit boek richt zich op Visual Basic for Applications (VBA), de programmeertaal ingebouwd in Excel (en andere toepassingen die Microsoft Office vormen). Het laat je zien hoe je programma's kunt schrijven die verschillende taken in Excel automatiseren. Dit boek behandelt alles, van het opnemen van eenvoudige macro's door het creëren van gesophisticeerde nutsvoorzieningen en hulpprogramma's. Dit boek heeft geen betrekking op Microsoft Visual Studio-tools voor Office (VSTO). VSTO is een relatief nieuwe technologie die Visual Basic .net en Microsoft Visual C # gebruikt. VSTO kan ook worden gebruikt om Excel en andere Microsoft Office-toepassingen te regelen.
Dit is geen boek voor het beginnen van Excel-gebruikers. Als u geen ervaring heeft met Excel, is een betere keuze mogelijk Excel 2010 bijbel, die een complessieve dekking biedt van alle kenmerken van Excel. Dat boek is bedoeld voor gebruikers van alle niveaus.

Boek: : Professionele programmering op VBA in Excel 2010
John Wacmenbach
Uitgever: Dialectiek
Formaat: PDF.
Pagina's:920
De grootte: 22.1 MB
Kwaliteit: Uitstekend
Taal: Russisch
Het jaar van publicatie: 2010 Het onderwerp van overweging van dit boek is de visuele basis voor het programmeertaal van toepassingen (VBA), die is ingebed in Excel, evenals andere toepassingen in Microsoft Office. Het beschrijft in detail het creëren van programma's die de uitvoering van verschillende taken in Excel automatiseren, en beschouwt ook een breed scala aan andere onderwerpen - van het schrijven van de eenvoudigste macro's voordat u de meest complexe toepassingen en hulpprogramma's maakt die zijn ontworpen voor gebruikersinteractie. Dit boek heeft geen beschrijving van de Microsoft Visual Studio-tools voor Software Package (VSTO). Het is een uitvoeringsvorm van een relatief nieuwe technologie die gebruik maakt van Visual Basic .NET en Microsoft Visual C #. VSTO-technologie kan ook worden gebruikt om het gedrag van het Excel-programma en andere Microsoft Office-toepassingen te regelen.

Het boek is niet bedoeld voor beginners van Excel-gebruikers. Als u geen ervaring hebt met deze applicatie, leest u eerst het Excel 2010-boek eerst. De Bijbel van de gebruiker waarin het in detail wordt beschreven over alle Excel-functies (het is gericht aan gebruikers van alle niveaus).


Boek:Tutorial VBA
Garnaev A.
Uitgever: bHV.
Pagina's: 512
Formaat: hTML met afbeeldingen in rar
ISBN: 5-8206-0067-3.
De grootte: 2.22 MB

Uitstekend

Taal: Engels
Het jaar van publicatie: 2009

Microsoft Excel is veel meer dan alleen een spreadsheet. Met de introductie van de Visual Basic Editor in Excel 97, gevolgd door de aanzienlijk verbeterde stabiliteit van Excel 2000, werd Excel een gerespecteerd ontwikkelingsplatform op zich. Excel-toepassingen worden nu gevonden naast die gebaseerd op C ++, Java en het .NET-ontwikkelingsplatform, als onderdeel van de Core Suite of Mission-Critical Corporate-applicaties.
Helaas wordt Excel nog steeds te vaak gedacht als een hobbyistische platform, die mensen alleen Excel-applicaties ontwikkelen in hun vrije tijd om kleine taken te automatiseren. Een korte blik op veel Excel VBA-boeken lijkt deze mening te bevestigen. Deze boeken richten zich op de basis van het automatiseren van Excel-taken met VBA. Dit boek is de eerste in zijn soort bij het verstrekken van een gedetailleerde uitleg over het gebruik van Excel als het platform voor het ontwikkelen van professionele toepassingen.
Terwijl de meeste belangrijke ontwikkelingsplatforms SEM een de facto-standaardtekst hebben die de algemeen overeengekomen best practices voor architecting, ontwerpen en ontwikkelen van applicaties met dat platform, verklaart, tot nu toe dat Excel niet. Dit boek probeert die kloof te vullen. De auteurs zijn professionele Excel-ontwikkelaars die Excel-gebaseerde toepassingen maken voor klanten die variëren van individuen tot de grootste multinationale ondernemingen. Dit boek legt de benaderingen die we gebruiken bij het ontwerpen, ontwikkelen, distribueren en ondersteunen van de applicaties die we voor onze klanten schrijven.
Dit boek is door de gebruiker verstrekt