Visual Basic for Applications

Slides:



Advertisements
Podobné prezentace
Makra v Excelu.
Advertisements

Vzdělávání v eGonCentru ORP Boskovice
Olomouc, únor 2012.
Microsoft Word 2010 I. Spuštění aplikace Wordu Popis prostředí Základní editace textu VY_32_INOVACE_52_MS_Word_ I.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Martin Dlouhý. Vytvořeno dne Nový začátek (New start) CZ.1.07/1.4.00/
Vypracovala: Mgr. Hana Toflová Dne: ICT2/1/3/16
Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití
VBA – Excel Lenka Forstová.
X EXEL.
WWW stránky.
Programování funkcí v Excelu
Manažerská grafika: Program č.3 Jaroslav LosSB 272.
Konstanty jsou datové objekty jejich hodnoty nelze v programu měnit Deklarace Const jméno = hodnota Příklad: Textový řetězec ZPRAVA Const ZPRAVA = “Zadej.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_13.
Informační technologie 2 Informační technologie Jarní semestr 2005.
Výpočetní technika Akademický rok 2011/2012 Letní semestr Novák Petr
Výpočetní technika Akademický rok 2010/2011 Letní semestr Novák Petr
Školení počítače Excel
IT Začátečníci Modul 4 MS EXCEL.
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
VYPRACOVALA: MGR. HANA TOFLOVÁ DNE: ICT2/1/3/13 WORD - tabulky.
TABULKOVÉ PROCESORY maturitní otázka: 16.
TABULKOVÝ PROCESOR Tadeáš Řezníček 4.A
Excel – editace ( formát ) buněk
Mgr. Jan Lavrinčík, DiS..  pro proměnnou typu Date alokováno 8 bajtů paměti, které obsahují spakovaný vzorek bitů nejen pro datum, ale i pro přesný čas.
Anotace Žák dokáže v aplikací MS Word vytvořit tabulku Autor Petr Samec Jazyk Čeština Očekávaný výstup Dokáže v aplikaci MS Word vytvořit, upravit a formátovat.
Referát č. 17 Tabulkový procesor
TEXTOVÝ EDITOR.
Referát č. 17 M. Novotný Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Vysvětlit pojmy.
Tabulkový program MS Office Excel , SB 305, – h
EDITOR ROVNIC Mgr. Alena Tichá.
Tabulkové procesory Pelikánová Lucie 2002.
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová II. Vzorce v Excelu Tipy pro práci s Wordem.
RoBla Makra MS OFFICE.
Konstanty u jsou datové objekty u jejich hodnoty nelze v programu měnit u Deklarace Const jméno = hodnota Příklad: Textový řetězec ZPRAVA Const ZPRAVA.
VISUAL BASIC PRALG.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
Excel– Zásady Ing. Bohumil Bareš.
Tabulkové procesory (MS Excel) Ing. Jan Roubíček.
Tvorba uživatelských formulářů
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
UŽIVATELSKÉ ROZHRANÍ MS POWERPOINT
WORD - Tabulky 2. března 2013VY_32_INOVACE_080115_Word_Tabulky_DUM Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Lenka Satková.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
VISUAL BASIC PRALG.
Textový procesor (MS Word) Ing. Jan Roubíček. Tabulky v textu VY_32_INOVACE_10_2_15_AP.
TVORBA VÝUKOVÉ PREZENTACE I.
Tvorba procedur ve VBA Microsoft Excel
Tvorba vlastních funkcí VBA Microsoft Excel
Tabulkový kalkulátor Radek Pinc
Maturitní okruh 16: TABULKOVÝ PROCESOR
filtrování a řazení dat, podmíněné formátování,
EXCEL – tisk a tvorba grafů Gymnázium a Jazyková škola s právem státní jazykové zkoušky Svitavy Ditta Kukaňová.
Tabulkové editory © Tabulkové editory slouží k: vytváření a úpravě tabulek na rozdíl od textových editorů jsou tabulky v těchto editorech aktivní,
Prezentace Powerpoint 1 Předmět:INFORMATIKA Ročník:7. Tematický okruh:Seznámení s programem MS Excel Název učiva:Návod na používání programu MS Excel Prezentace.
Microsoft FRONT PAGE Šablona 32 VY_32_INOVACE_19_10_Front Page.
Grafická úprava sestavy Access (15). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
KIV/ZD cvičení 8 Tomáš Potužák.
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J
KIV/ZD cvičení 10 Tomáš Potužák.
WORDPAD Textový dokument.
Lenka Forstová Lucie Pelikánová
KIV/ZD cvičení 9 Tomáš Potužák.
Otázky a úkoly VY_32_INOVACE_4_3_15_20 Vložení III.   Najdi záložku „vložení“. Vlož tabulku – 3 sloupce, 4 řádky. První řádek označ modrou barvou. Vlož.
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J
5a. Makra Visual Basic pro Microsoft Escel
Úvod do prostředí Upraveno pro verzi 2007
MU002 Informační technologie Základy algoritmizace 6/13
Transkript prezentace:

Visual Basic for Applications 17.9.2018 VBA

Makra použití: automatické provádění často se opakujících akcí posloupnost příkazů, kterou lze automaticky a opakovaně vykonávat v aplikacích MS Office (Word, Excel, PowerPoint, Access) použití: automatické provádění často se opakujících akcí vytváření: nahrání zápis v jazyce Visual Basic kombinace obou způsobů 17.9.2018 VBA

Nahrávání makra po spuštění nahrávání až do jeho ukončení je každá akce (myší i z klávesnice) zaznamenána celou posloupnost akcí je pak možné přehrát tipy pro nahrávání: použití panelu nástrojů VB sledování nahraných akcí v okně editoru VB před začátkem nahrávání makra označení objektů relativní x absolutní odkaz absolutní odkaz => zaznamenávají se absolutní adresy buněk (např. A5, B3) relativní odkaz => zaznamenávají se pohyby vzhledem k počáteční pozici (posun – Offset (počet řádků, počet sloupců)) přepnout lze kdykoliv během nahrávání 17.9.2018 VBA

Spouštění makra automaticky: po otevření sešitu (makro Auto_Open), po uzavření sešitu (makro Auto_Close) zadanou klávesovou zkratkou vytvořenou položkou nebo tlačítkem v menu (Zobrazit / Panely nástrojů / Vlastní -> Příkazy -> Makra -> Vlastní položka nabídky resp. Vlastní tlačítko + přetažení do menu) kliknutím na grafický objekt: vytvoření objektu kliknutí pravým tlačítkem myši => Přiřadit makro 17.9.2018 VBA

Zápis makra v editoru VBA podprogramy kód podprogramu obvykle v modulech proměnné: platnost v podprogramu – dim nebo static + deklarace v podprogramu platnost v modulu – dim + globální deklarace platnost v celém projektu (tj. ve všech modulech) – public + globální deklarace procedury: makra = procedury bez parametrů lze nahrát a upravovat mezi klíčová slova Sub a End lze spustit ze seznamu maker (není-li deklarována jako Private) funkce: nelze nahrát mezi klíčová slova Function a End Function množství předdefinovaných funkcí lze vložit do buňky příkazem Vložit / Funkce / Vlastní (není-li deklarována jako Private) 17.9.2018 VBA

Předdefinované funkce matematické (Abs, Rnd, Sqr, Sin, …) pro práci s řetězci (&, Len, Mid, Ucase, Trim, …) pro převod na daný typ (Cdate, Cbool, …) pro datum a čas (Date, Time, Now, …) test na typ proměnné (IsDate, IsEmpty, …) nutno použít anglické názvy funkcí (např. CountA pro vrácení počtu neprázdných buněk v oblasti místo Počet2) např.: Application.WorkSheetFunction.Min(Range (“A1:C3“)) ‘vrátí minimální hodnotu z oblasti A1:C3 17.9.2018 VBA

Objekty ve VBA vlastnosti (~ proměnné), metody (~ procedury a funkce) přístup pomocí tečkové notace některé objekty jsou kontejnery: např.: Application.WorkBook.WorkSheet.Cell odkaz na výběr – Selection (je-li vybráno před spuštěním makra) struktura With: pro úsporu místa při zápisu např.: With Selection.Font .Name = “Arial Black“ .Size = 10 .ColorIndex = 3 End With ‘ nastaví ve vybrané oblasti žluté písmo Arial Black o velikosti 10 klíčové slovo Set uvozuje přiřazovací příkaz proměnných typu objekt Set oblast = Range (“A1:B3“) 17.9.2018 VBA

Kolekce kolekce = soubor objektů stejného typu název kolekce shodný s objektem + s přístup k prvkům kolekce: indexem WorkSheets(2).Name = “Druhý list“ jménem WorkSheets(“List2“).Name = “Druhý list“ ‘ přejmenování druhého listu v sešitě metoda Count – počet prvků kolekce (nelze nastavit, jen číst) metoda Add – přidá položku do kolekce metoda Delete – odebere položku z kolekce příkaz For Each Dim list As WorkSheet For Each list In WorkSheets … Next list 17.9.2018 VBA

Nejdůležitější objekty ve VBA I. Application – reprezentuje celou aplikaci Excelu vlastnosti: ActiveWindow (aktuální okno), ActiveWorkBook (aktuální sešit) ThisWorkBook (sešit, ve kterém je zapsán právě prováděný příkaz makra) Windows (kolekce všech otevřených oken v aplikaci) WorkBooks (kolekce všech otevřených sešitů) metody: Calculate (vyvolá přepočítání vzorců ve všech sešitech) Quit (ukončí aplikaci Excelu) Run (spuštění makra z jiného sešitu) Wait (pozastaví spuštěný podprogram na určitou dobu) 17.9.2018 VBA

Nejdůležitější objekty ve VBA II. WorkBook – otevřený sešit vlastnosti: ActiveSheet (aktuální list) Name (jméno sešitu), FullName (jméno včetně cesty), Path (cesta) Saved (je-li soubor uložen – True) WorkSheets (kolekce tabulkových listů – WorkSheet metody: Close (uzavře sešit) Save, SaveAs (uloží sešit na disk) 17.9.2018 VBA

Nejdůležitější objekty ve VBA III. WorkSheet – reprezentuje jeden list sešitu vlastnosti: Cells (kolekce všech buněk v sešitu) ActiveSheet.Cells(2,3) ‘ = buňka C2 ActiveSheet.Cells(2) ‘ = druhý řádek Columns (kolekce sloupců) Name (vrací nebo nastavuje jméno listu) Range (vymezuje oblast buněk na listu) Range(“A1:B3“) ‘ jeden parametr – zápis celé oblasti (i násobné) Range(“A1“,“B3“) ‘ dva parametry – rohové buňky vymezují obdélníkovou oblast Range(“A1:C3 B2:D5“) ‘ průnik oblastí A1:C3 a B2:D5 (operátor mezera), tj. oblast B2:C3 Union(Range(“A1:A2“),Range(“B2:B3“)) ‘ sjednocení více souvislých oblastí Range(“Oblast1“) ‘ odkaz na pojmenovanou oblast buněk (příkaz Vložit / Název / Definovat) Rows (kolekce řádků) Visible (skrytí / zobrazení listu) 17.9.2018 VBA

Nejdůležitější objekty ve VBA IV. WorkSheet – reprezentuje jeden list sešitu metody: Copy (kopíruje list před nebo za uvedený list v sešitě) Delete (odstraní zadaný list ze sešitu) Paste (vloží obsah stránky na parametrem určené (nebo aktuální) místo v sešitě) Select (parametr True vybere list, parametr False změní výběr listu) Window – reprezentuje okno v Excelu vlastnosti: Height, Width, Left, Top WindowState (stav okna – xlMaximized, xlMinimized, xlNormal) Activate (aktivuje okno) Close (uzavře okno) 17.9.2018 VBA

Nejdůležitější objekty ve VBA V. Range – reprezentuje buňku nebo výběr buněk v tabulce vlastnosti: Adress (adresa dané oblasti) Borders (kolekce orámování buněk) Characters (kolekce znaků uvnitř buňky – objekt Range musí odpovídat jediné buňce) Cells (všechny buňky dané oblasti) Columns (kolekce sloupců) Count (počet buněk v oblasti) End (poslední buňka oblasti ve směru určeném parametrem) Font (objekt, určující vlastnosti písma) Hidden (skrytí / zobrazení buněk) Interior (objekt, určující formát výplně) Offset (vrací objekt typu Range posunutý o požadovaný počet řádků a sloupců) ActiveCell.Offset(1,2).Value = 7 ‘ zapíše hodnotu 7 do buňky ležící o řádek pod a dva sloupce vpravo od aktivní buňky Rows (kolekce řádků) Value (vrací nebo nastavuje hodnotu v buňkách oblasti) 17.9.2018 VBA

Nejdůležitější objekty ve VBA VI. Range – reprezentuje buňku nebo výběr buněk v tabulce metody: AutoFit (přizpůsobí šířku sloupce) Calculate (přepočítá buňky v oblasti) Clear, ClearContents, ClearFormat (vymaže vše resp. obsah, formáty) Copy (zkopíruje oblast do schránky) Cut (vyjme oblast do schránky) Delete (zruší buňky a provede posun) Find, FindNext, FindPrevious (prohledávání obsahu buněk) Insert (vloží buňky a okolní posune) Paste (vloží obsah schránky) Select (označí oblast buněk) Sort (setřídí oblast dle zadaných podmínek) příklady: ActiveSheet.Range(“A4“) ‘ buňka A4 z aktivního listu WorkSheets(“Prosinec“).Range(“B:B“) nebo Range(“Prosinec!B:B“) ‘ sloupec B z listu Prosinec Pozor! Range(i & “:“ & j).Select ‘ odkaz na i-tý řádek a j-tý sloupec Nelze: Range( “i:j“).Select ani Range(i:j).Select 17.9.2018 VBA

Nejdůležitější objekty ve VBA VII. Font – objekt slouží k nastavení vlastností písma vlastnosti: Bold, Italic, Underline, … Color (barva písma, možno použít funkci RGB nebo konstanty vbRed,…), ColorIndex (barva písma z palety barev) Name (jméno fontu) Size (velikost písma) Interior – objekt popisuje vnitřek buňky Color, Colorindex (barva výplně) Pattern (vzorek výplně), PatternColor, PatternColorIndex (barva vzorku výplně) Border – objekt popisuje ohraničení buněk Color, ColorIndex (barva ohraničení) LineStyle (styl čáry – plná, čárkovaná, …) Weight (tloušťka čáry) 17.9.2018 VBA

Komunikace s uživatelem I. MsgBox(prompt, buttons, title, helpfile, context) : stisknuté_tlacítko InputBox(prompt, title, defualt, xpoz, ypoz, helpfile, context ): string zobrazí dialogové okno se vstupní řádkou a dvěma tlačítky OK a Storno ukončí-li uživatel tlačítkem OK, vrací text zapsaný ve vstupní řádce, jinak vrací prázdný řetězec 17.9.2018 VBA

Komunikace s uživatelem II. Applications.InputBox (prompt, title, default, left, top, helpFile, helpContextId, type):Variant navíc type – typ zadávané hodnoty: 0 – vzorec ve tvaru textu, např. “=A1+A2“ 1 – číslo 2 – textový řetězec 4 – logická hodnota (True nebo False) 8 – adresa oblasti buněk (Range); při přiřazení je nutné použít funkci Set např.: Dim oblast As Range Set oblast = Applications.InputBox(Title:= “Výstup“, Prompt:=“Zadej adresu oblasti“,Type:=8) 17.9.2018 VBA