PočítačeSoftvér

VBA Excel: vzorové programy. Makrá v Exceli

Málokto vie, že prvá verzia obľúbeného produktu Microsoft Excel sa objavil v roku 1985. Od tej doby prešla niekoľkými úpravami a dopyt po milióny užívateľov po celom svete. Avšak len veľa práce s trochou schopnosťou tejto tabuľky a ani neviem, ako by mohli uľahčiť život pre schopnosť programovanie Excel.

Čo je VBA

Programovanie v Excelu sa vykonáva pomocou Visual Basic for Applications programovací jazyk, ktorý bol pôvodne postavený v najslávnejšej tabuľky od Microsoftu.

K jeho zásluh odborníci pripisujú relatívna jednoduchosť vývoja. Ako prax ukazuje, VBA možno zvládnuť základy aj užívatelia, ktorí nemajú odborné znalosti programovania. Pre VBA funkcie patrí spustenie skriptu v prostredí kancelárskych aplikácií.

Nevýhodou tohto programu sú problémy spojené s kompatibilitou rôznych verzií. Sú spôsobené tým, že VBA kód programu sa vzťahuje na funkčnosť, ktorá je prítomná v novej verzii produktu, ale nie v tej starej. K dispozícii je tiež veľká nevýhoda a neprimerane vysoká miera otvorenosti kódu zmeniť tvár cudzinca. Avšak, Microsoft Office a IBM Lotus Symphony umožňuje užívateľom používať šifrovanie vstupný kód a heslo nastavenia, aby ste ju videli.

Predmety, zbierky, vlastnosti a metódy

Práve s týmito pojmami, ktoré treba pochopiť tých, ktorí budú pracovať v prostredí VBA. Po prvé, musíte pochopiť, čo je objekt. V programe Excel, v tomto pôsobí ako list, kniha, a oblasť buniek. Tieto objekty majú zvláštnu hierarchiu, tj. počúvať seba.

Hlavnou z nich je aplikácia, zodpovedajúci Excel program sám. Nasledoval zošity, pracovné listy, a Rozsah. Napríklad, sa odkazovať na bunky A1 na konkrétne liste musí ukázať cestu, s prihliadnutím na hierarchiu.

Pokiaľ ide o pojem "zber," tejto skupiny predmetov rovnakého druhu, v ktorom je záznam daného ChartObjects. Jeho prvky sú aj objekty.

Ďalšia vec - reality. Sú nevyhnutným prvkom akéhokoľvek objektu. Napríklad, pre rozsah - je hodnota alebo vzorec.

Metódy - je príkaz ukázať, že chcete vykonať. Pri písaní kódu v jazyku VBA, aby boli oddelené od objektu bodu. Napríklad, ako bude uvedené neskôr, sa veľmi často pri programovaní v príkaze "uzavretý" použiť bunky (1,1) .Select. To znamená, že je nutné vybrať bunku so súradnicami (1,1), tj. A1.

Avšak, to je často používané Selection.ClearContents. Jeho realizácia je zúčtovanie obsah vybranej bunky.

ako začať

Po prvé, chcete vytvoriť súbor a uložiť ho, priradiť názov a vyberte typ «Book Excel makro-povolené."

Potom prejdite do aplikácie VB, čo je dosť, aby použili kombináciu «Alt» a «F11». Ďalšie:

  • V ponuke v hornej časti okna, kliknite na ikonu vedľa ikony programu Excel;
  • Mudule vybraný príkaz;
  • klikajte na ikonku s diskety;
  • písať, povedzme, kódu osnovy.

Vyzerá to takto:

Podprogram ()

, Náš kód

end Sub

Upozorňujeme, že mnoho ", Naša code" bude zvýraznený v inej farbe (zelená). Dôvodom pre tento apostrof, vydaný na začiatku reťazca, čo naznačuje, že to, čo nasleduje, je komentár.

Teraz môžete písať nejaký kód a vytvoriť pre seba nový nástroj v VBA Exceli (pozri vzorové programy. Atď.), Samozrejme, že tí, ktorí sú oboznámení so základmi jazyka, bude to oveľa jednoduchšie. Avšak aj tí, ktorí nemajú, ak chcete mať možnosť zoznámiť sa pomerne rýchlo.

Makrá v Exceli

Za týmto názvom sa skrýva programy napísané v jazyku Visual Basic pre jazyk aplikácie. To znamená, že programovanie do Excelu - je vytvoriť makro do požadovaného kódu. Vďaka tejto možnosti Microsoft tabuľky self-vyvíja, prispôsobuje požiadavkám konkrétneho užívateľa. Potom, čo sa zaoberal tým, ako vytvoriť moduly pre písanie makier, je možné pokračovať s konkrétnymi príkladmi programu VBA Excel. To je najlepšie začať s najzákladnejšie kódmi.

Príklady uskutočnenia vynálezu Príklad 1

Úloha: Napíšte program, ktorý bude kopírovať hodnotu obsah jednej bunky a potom sa zapísať do druhého.

Postupujte nasledovne:

  • prejdite na kartu "Zobrazenie";
  • Presuňte ikonu "makra";
  • triasť na "Record Macro";
  • vyplniť formulár otvorený.

Pre jednoduchosť, v "Názov makra" odísť "Makros1" av "klávesová skratka", ktorá znie napríklad hh (to znamená, že môžete spustiť vzorového program bude «Ctrl + h» bleskový team). Stlačte Enter.

Teraz, keď ste začali nahrávať makrá tvoria obsah bunky do druhej. Návrat na pôvodnú ikonu. Kliknite na tlačidlo "Record Macro". Táto akcia označí dokončenie appletov.

Ďalšie:

  • opäť sťahuje do reťazca "makra";
  • je vybraný v zozname "Makro 1";
  • kliknite na tlačidlo "Spustiť" (rovnaká akcia začína Začala klávesovej skratky Ctrl + «hh»).

V dôsledku toho je akcia, ktorá bola vykonaná počas záznamu makra.

Má zmysel, aby videli, ako kód vyzerá. Ak to chcete urobiť, prejdite späť na reťazec "makrá" a kliknite na "Upraviť" alebo "Enter". Výsledkom je, že sa ocitnú v prostredí VBA. V skutočnosti, samotný kód je umiestnený medzi riadkami makro Makros1 Sub () a End Sub.

Ak bola vykonaná kopírovanie, napríklad z bunky A1 v bunke C1, jeden z riadkov kódu bude vyzerať rozsah ( "C1"). Zvoľte. V preklade to vyzerá, že "rozsah (" C1 "). Zvoľte", inými slovami, je prechod k VBA Excel v bunke C1.

Aktívna časť kódu dokončí ActiveSheet.Paste tím. To znamená nahrávanie obsah vybranej bunky (v tomto prípade, A1) vo vybranej bunke C1.

Príklad 2

VBA cyklov pomáhajú vytvárať rôzne makrá v programe Excel.

VBA cyklov pomáhajú vytvárať rôzne makrá. Predpokladajme, že je funkcia y = x + x 3 + 3x 2 - cos (x). Ak chcete vytvoriť makro pre svoje grafiky. To možno vykonať len pomocou cyklov VBA.

Pre počiatočné a koncové hodnoty argumentov funkcií sa x1 = 0 a x2 = 10. Okrem toho, že je potrebné zaviesť konštantu - hodnota v kroku mení riadenie a počiatočnú hodnotu pre čítač.

Všetky príklady makier VBA Excel sú vytvorené za použitia rovnakého postupu ako je uvedené vyššie. V tomto konkrétnom prípade, kód vyzerá takto:

Sub program ()

x1 = 1

x2 = 10

súlož = 0,1

i = 1

Ešte keď x1

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

Bunky (i, 1) .Value = x1 (x1 hodnota zapísaná do pamäti so súradnicami (i, 1))

Bunky (i, 2) .Value = y (y hodnota je zapísaná v bunke so súradnicami (I, 2))

i = i + 1 (platný počet);

x1 = x1 + súlož (argument je zmenený na veľkosti kroku);

slučka

End Sub.

V dôsledku tohto behu makra "Excel" získať dva stĺpce, z ktorých prvá sa zaznamenávajú hodnoty pre x, a druhá - y.

Potom naplánovať môcť stavať na nich, štandard pre "Excel".

Príklad 3

Implementovať cykly VBA Excel 2010, rovnako ako v iných verziách, spoločne s už zníženou Do Zatiaľ čo dizajn používal pre.

Zoberme si program, ktorý vytvorí stĺpec. V každej bunke bude zaznamenaný štvorčeky zodpovedajúce číslo riadka. Aby bolo možné použiť konštrukcia umožní zaznamenať veľmi stručne, bez použitia pultu.

Najprv je potrebné vytvoriť makro, ako je popísané vyššie. Ďalej písať kód sám. Veríme, že sa zaujímame o hodnôt pre 10 buniek. Kód je nasledujúci.

Pre i = 1 až 10 Ďalší

Príkaz sa prenesie do "ľudskej" jazyk, as "opakoval od 1 do 10 v krokoch po jednom."

Ak je úloha prijímať kolóny štvorcov, napríklad všetky nepárne celé čísla medzi 1 a 11, zapíšeme:

Pre i = 1 až 10, kroku 1 ďalšie.

Odtiaľ krok - krok. V tomto prípade je rovný dvom. V predvolenom neprítomnosť slová v slučke znamená, že v jednom kroku.

Tieto výsledky musia byť uložené v rade buniek (i, 1). Potom sa po každom spustení cykle sa zvýšením hodnoty aj krok bude automaticky rast a číslo riadku. Tak, tam bude optimalizácia kódu.

Všeobecne platí, že kód bude vyzerať nasledovne:

Podprogram ()

Pre i = 1 až 10, krok 1 (môže byť zapísaný iba pre i = 1 až 10)

Bunky (i, 1) .Value = i ^ 2 (tj. Efektívna hodnota je zapísaná do bunky (i, 1) i)

Ďalší (v zmysle hrá úlohu protiprostředek a iným začiatkom cyklu)

End Sub.

Ak sa to urobí správne, vrátane nahrávania a prevádzkové makrá (viď. Vyššie uvedených pokynov), potom sa nazýva zakaždým, keď je daná veľkosť sa dosiahne stĺpec (v tomto prípade skladajúci sa z 10 článkov).

Príklad 4

V každodennom živote, často je nutné, aby tento alebo toto rozhodnutie v závislosti na určitých podmienkach. Nezaobíde bez nich VBA Excel. Príklady programov, kde ďalší priebeh algoritmu je vybraná namiesto pôvodne vopred stanovené, najčastejšie používa konštrukcia if ... then (za zložitých prípadoch) Ak je ... Tak ... END-li.

Zoberme si konkrétny prípad. Predpokladajme, že chcete vytvoriť makro "Excel" do cely so súradnicami (1,1) bol zaznamenaný:

1, ak je argument pozitívny;

0 ak argument je nula;

1, ak je záporné, je.

Vytvorenie takéhoto makrá pre "Excel" začína vo štandardným spôsobom, pomocou "horúce" klávesy Alt a F11. Ďalej napísal nasledujúci kód:

Podprogram ()

x = bunky (1, 1) .Value (Tento príkaz priradí hodnotu x súradníc obsahu bunky (1, 1))

Ak x> 0, potom bunky (1, 1) .Value = 1

Ak je x = 0, potom bunky (1, 1) .Value = 0

Ak je x <0, potom bunky (1, 1) .Value = -1

End Sub.

Zostáva spustiť makro a dostať sa do "Excel" požadovanú hodnotu pre argument.

funkcie VBA

Ako ste si možno všimli, v najznámejšom programe tabuľkového procesora Microsoft nie je príliš ťažké. Zvlášť ak sa naučíte používať funkcie VBA. Celkovo tento programovací jazyk vytvorený špeciálne pre písanie aplikácií v "Excelu" a slovo, asi 160 funkcií. Tie možno rozdeliť do niekoľkých veľkých skupín. Sú to:

  • Matematické funkcie. Ich aplikáciou na argument hodnotu cosinus sa získava prirodzený logaritmus, takže celá časť.
  • Finančné funkcie. Vzhľadom na ich dostupnosti a používania programovanie v Exceli, môžete získať efektívne nástroje pre účtovníctvo a finančné vysporiadanie.
  • Spracovanie polia funkcie. Medzi ne patrí poľa, IsArray; LBound; UBound.
  • VBA Excel fungovať po trati. Jedná sa o pomerne veľká skupina. To zahŕňa, napríklad, funkčný priestor na vytvorenie reťazca s radom nedostatkov, ktorý sa rovná argument celého čísla alebo ASC prenáša symboly ANSI kódu. Všetky z nich sú široko používané a umožňujú pracovať s reťazcami v "Exceli" vytváranie aplikácií oveľa jednoduchšie pracovať s týmito tabuľkami.
  • Funkcia konverzie typov dát. Napríklad cvar vráti argument výraz, prevedenie na dátový typ Variant.
  • Dátum funkcie. Sú výrazne rozšíriť štandardné funkcie "Excel". Takže funkcie WeekdayName vráti názov (úplnú alebo čiastočnú) dňa v týždni pomocou jeho čísla. Ešte užitočnejšie je časovač. Ten udáva počet sekúnd, ktoré uplynuli od polnoci do určitého okamihu dňa.
  • Fungovať previesť číselné argumenty v rôznych číselných sústavách. Napríklad októbra výstupy na osmičkovú reprezentáciu čísla.
  • formátovanie funkcie. Najdôležitejšie z nich je formát. Vracia Variant s výrazom formátovaný v súlade s pokynmi uvedenými v popise formáte.
  • a tak ďalej.

Štúdium vlastností týchto funkcií a ich využitie výrazne rozšíriť rozsah "Excelu".

Príklad 5

Skúsme riešenie zložitejších problémov. napríklad:

Dan papierový dokument skutočná výška nákladov na správy o firme. vyžaduje:

  • rozvíjať svoju vzorkovú časť tabuľkovými "Excelu";
  • vytvoriť program VBA, ktorý bude žiadať o nespracované údaje, aby ju naplniť, vykonávať potrebné výpočty a vyplniť šablónu zodpovedajúce bunky.

Zoberme si jeden z nasledujúcich riešení.

vytvorenie šablóny

Všetky akcie sú vykonávané na štandardné list v Exceli. Voľné bunky vyhradenej pre zadávanie dát na mesiac, rok, titulných-odberateľských firiem, výška nákladov, úroveň ich obratu. So zvyšujúcim sa počtom spoločností (firiem), v súvislosti s ktorými sa táto správa nie je zaznamenané bunky, aby sa na základe hodnôt a profesionálne meno nie je vyhradená vopred. List pridelený nový názov. Napríklad, "Օ Report".

premenné

Ak chcete napísať program automaticky vyplniť v šablóne, vyberte notácie. Budú použité pre premenné:

  • NN- číslo aktuálneho riadku tabuľky;
  • TP a TF - plánované a skutočné obrat;
  • SF a SP - aktuálne a plánované celkové náklady;
  • IP a IF - plánované a skutočné náklady na úrovni.

Označíme rovnakými písmenami, ale s "Predpona» Itog akumulačné celkom pre daný stĺpec. Napríklad ItogTP - S ohľadom na stĺpci pod hlavičkou, as "plánovaného obratu."

Riešenie problému pomocou programovania VBA

Pri použití tohto značenia, dostaneme vzorec pre rozptyl. Ak chcete vykonať výpočet v% máme (F - P) / P * 100, a vo výške - (F - P).

Výsledky týchto výpočtov možno najlepšie len preto, aby "Excel" tabuľku v príslušných bunkách.

Pre výsledok a prognózy v skutočnosti získaný vzorcov ItogP = ItogP + P a ItogF = ItogF + F.

Pre odchýlky použiť = (ItogF - ItogP) / ItogP * 100 v prípade, že výpočet sa vykonáva v percentách, a ak je celková hodnota - (ItogF - ItogP).

Výsledky opäť zaznamenaný v príslušných bunkách, takže nie je potrebné ich priradiť k premenným.

Pred začatím vytvoriť program, ktorý chcete uložiť zošit, napríklad pod názvom "Otchet1.xls".

Stlačte tlačidlo "Vytvorenie tabuľky vykazovanie," musíte stlačiť iba 1 čas, po zadaní informácií hlavičky. Mali by ste vedieť, a iné pravidlá. Najmä na tlačidlo "Pridať riadok" musí byť stlačené po každom vstupe do tabuľky hodnôt pre každú činnosť. Po zadaní všetkých potrebných údajov pre stlačenie tlačidla "Dokončiť", a potom prejsť na "Excel" v okne.

Teraz, keď viete, ako vyriešiť problém pre tabuľkový procesor Excel s makra. Schopnosť používať VBA Excelu (pozri vzorové programy. Vyššie), a možno budete musieť pracovať v prostredí najpopulárnejšie v okamihu, textový editor Word "" Najmä tým, že záznam, ako je uvedené v úvode tohto článku, alebo písanie kódu pre vytvorenie tlačidiel ponuky, ktorými mnohé z operácií na texte možno vykonať pomocou tlačidiel na dani, alebo cez ikonu "Zobraziť" a záložke "Makrá".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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