OBSAH Úvod do VBA... 6 K čemu VBA... 6 Když VBA nestačí... 6 Historie Visual Basicu... 7 Objektový model, vlastnosti, metody, události a funkce...

Podobné dokumenty
Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Spojování textových řetězců na listu

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Efektivní práce s Excelem (středně pokročilí uživatelé)

MS Excel makra a VBA

Tabulka obsluhovaná kódem VBA

8 Makra Příklad 4 Excel 2007

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Barvy ve VBA jsou tématem, které dokáže nadchnout, nudit i otrávit. Každopádně se mu vyhnout nemůžeme. Pojďme na to. Práce s barvou Záznamník maker

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Obsah Předmluva 13 Začínáme 15 Obecné 53

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Obsah. Úvod 15. Úvod do Excelu Práce se sešity 35

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

10 Algoritmizace Příklad 2 Word 2007/ VBA

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

Struèný obsah. Základní průprava. Vývoj aplikací v Excelu. Základy jazyka Visual Basic for Applications. Práce s vlastními dialogy (UserForms)

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Dialog Najít a nahradit

Tematický celek 03 - Cvičné příklady

Povrchový (obrysový graf)

Odstranění řádků (na základě hodnoty)

DUM 06 téma: Tvorba makra pomocí VBA

Makra. Orámování oblasti

Slíbená princezna. Univerzální ComboBox

Panely pro práci s barvami a ohraničením v Excelu 2003 a 2010

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Cvičné příklady Hodina 8 Cvičný 1

Ukazka knihy z internetoveho knihkupectvi

Různé barvy v grafu pro skutečnost a plán

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

MS Excel Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Na úvod tip, jak kontrolovat šířku tabulky před a po změně. Chování makra ukazují obrázky. Jak změnit rastr v hotové tabulce Excelu

Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc.

Pracovní sešit MS Word pokročilý

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Microsoft Word základní

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

POVRCHOVÝ (OBRYSOVÝ GRAF)

Obsah. Několik slov o Excelu 2007 a Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1

Předmluva 11 Typografická konvence použitá v knize Úvod do Excelu

Odstavení automatického zpracování hypertextových odkazů

Tabulkový procesor otázka č.17

V článku Skrytý obsah na listu (1) jsme se zabývali obecnými možnosti skrývání obsahu. Dnes se na dané téma podíváme prakticky.

Dialog Vzhled stránky

Analýza a prezentace dat

Programování v Excelu 2007 a 2010 záznam, úprava a programování maker

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Profilová část maturitní zkoušky 2017/2018

Data x Informace x Znalosti

Visual Basic for Applications

Makro. PDF vytvořeno zkušební verzí pdffactory Pro

Visual Basic for Application

Microsoft Access tvorba databáze jednoduše

Microsoft Excel 2007 pokročilé metody a funkce

Tabulkový procesor. Základní rysy

Empty, Null, Nothing, Missing, prázdný řetězec a buňka

Programování v Excelu 2007 a 2010 záznam, úprava a programování maker

Ukázka knihy z internetového knihkupectví

Generátor list nastavení

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Pracovní prostředí Excel 2010

VÝŘEZ OBLASTI BUNĚK VZORCEM

PowerPivot pro Microsoft Excel 2013

Hromadná změna datumu a času v buňkách

VISUAL BASIC. Přehled témat

Vstupní požadavky, doporučení a metodické pokyny

OBSAHY E-LEARNINGOVÝCH KURZŮ

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Profilová část maturitní zkoušky 2013/2014

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Obsah. Seznámení s prostředím Excelu. Poděkování 25 O přiloženém CD 26 Co je na CD 26 Použití CD 26 Systémové požadavky 26 Podpora 27

Ukázka knihy z internetového knihkupectví

VBA jako nástroj tvorby vlastních funkcí pro zkvalitnění výstupu v MS Excel

ZŠ ÚnO, Bratří Čapků 1332

'je zobrazen stavový řádek? blnstavovyradekzobrazen = Application.DisplayStatusBar. Excel stavový řádek

O bsah. Ú vod 1. Co b y ste m ě li v ě d ě t n a ú v o d 5. E d ito r jazy k a V isual basic, č ást I 15. P r o s tř e d í j a z y k a VBA 13

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

v Excelu záznam, úprava a programování maker Programování Marek Laurenčík

Stručný obsah. K2118.indd :15:27

Různé barvy v grafu pro skutečnost a plán

Úvodem... 9 Kapitola 1 Karetních

'============================================================== Data\Priklady\04_Zpracovani_dat\ ' Název souboru 04_01_Comparison.

KAPITOLA 1 Několik slov o Excelu Pás karet 10 Panel nástrojů Rychlý přístup 11 Tlačítko Office 11

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

FORMÁTOVÁNÍ 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

Řazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0)

MS EXCEL. MS Excel

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 4. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

ExcelVBAmodul. Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel

Obsah KAPITOLA 1 Několik slov o Wordu

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý

Transkript:

OBSAH Úvod do VBA... 6 K čemu VBA... 6 Když VBA nestačí... 6 Historie Visual Basicu... 7 Objektový model, vlastnosti, metody, události a funkce... 7 Hierarchická struktura v objektovém modelu Excelu... 8 První makro... 9 Syntaxe... 10 Práce s kódem a editorem VBA (VBE)... 14 Uložení kódu... 18 Spouštění kódu... 20 Zabezpečení... 23 Ladění kódu... 23 Práce s čísly, textem a barvami... 30 Přiřazování hodnot... 30 Operátory... 31 Čísla... 33 Text... 38 Barvy... 40 Deklarace... 43 Deklarace procedur a funkcí... 43 Datové typy... 44 Deklarace proměnných... 46 Deklarace konstant... 49 Chybné deklarace... 50 Převody datových typů... 51 Testování datových typů... 53 Pole proměnných... 54 Statické pole... 55 Dynamické pole... 56 Funkce Array... 57 Počet položek pole... 57 Počet rozměrů (dimenzí) pole... 58 3

Odkaz na položku pole... 58 Procházení pole... 59 Hledání položky v poli (POZVYHLEDAT, SVYHLEDAT)... 59 Další funkce listu užité na poli... 60 Filtrování pole... 61 Řazení položek v poli... 62 Reset pole... 63 Testování pole... 64 Slučování položek pole do textového řetězce (Join)... 64 Rozdělení položek textového řetězce do pole (Split)... 65 Převody typu položek v polích... 65 Užitečná pole... 66 Přenos hodnot mezi polem a oblastí buněk... 67 Kolekce a slovník... 70 Příkazy pro řízení toku... 72 Podmíněný příkaz If..Then..Else... 73 Podmíněný příkaz Select..Case... 75 Cyklus For..Next... 77 Cyklus For..Each... 80 Cykly Do..Loop, Do..Until, Do..While, While..Wend... 81 Větvení (odskoky)... 84 Přerušení bloku příkazů nebo běhu procedury... 85 Sešity... 85 Listy... 95 Buňky... 102 Výběry buněk... 103 Procházení oblastí buněk... 106 Speciální výběry... 111 Vybrané vlastnosti a metody pro buňky... 115 Čtení a zápis do buněk... 117 Metody Offset a Resize... 122 Operace s oblastí buněk... 123 Testování buněk... 125 Formátování buněk... 128 4

První prázdná (poslední vyplněná) buňka ve sloupci... 131 Události... 133 Událost ovládacího prvku ActiveX... 133 Událost změny hodnoty v buňkách na listu... 136 Moduly tříd (Class Module)... 138 Modul třídy pro nový objekt, vlastnosti a metody... 138 Modul třídy pro události na úrovni aplikace (Excel)... 141 Modul třídy pro zpracování téže události u více ovládacích prvků... 142 Dialogy v první linii... 143 MsgBox... 143 InputBox... 148 Formuláře... 152 Ovládací prvek Textové pole (TextBox)... 155 Ovládací prvek Pole se seznamem (ComboBox)... 156 Ovládací prvky Zaškrtávací políčko (CheckBox) a Přepínač (OptionButton)... 160 Ovládací prvky Posuvník (ScrollBar) a Číselník (SpinButton)... 162... 162 Ovládací prvky pro výběr data a času... 162 Panely nástrojů... 166 Pás karet a jeho úpravy... 168 Objektový model FSO (File System Objects)... 172 Čtení a zápis do textového souboru... 177 Načtení dat ve formátu CSV... 181 Uložení dat ve formátu CSV... 184 Dialogy pro výběr složky a souboru... 186 Ošetřování chyb... 189 Závěr... 192 5

Tip Pokud zvažujete vícejazyčný sešit, umístěte veškeré popisky ovládacích prvků, buněk i texty dialogů na list, a z něj posléze čerpejte. Sub PraceSTextem() 'pojem text = textovy retezec 'prirazeni hodnoty do textove promenne strtext = "kolotoč" 'nacteni (naformatovane) hodnoty z bunky strtextbunka = Range("B2").Text 'delka textu, vysledek 7 inttextdelka = Len("kolotoč") 'cast textu zleva, vysledek "kolo" strtextzleva = Left("kolotoč", 4) 'cast textu zprava, vysledek "toč" strtextzprava = Right("kolotoč", 3) 'cast textu, vysledek "loto" strtextcast = Mid("kolotoč", 3, 4) 'poradi znaku v ASCII/ANSI tabulce, vysledek 75 intznakcislo = Asc("K") 'znak dle poradi v ASCII/ANSI tabulce, vysledek "K" strznak = Chr(75) 'prevod na mala pismena, vysledek "kolotoč" strtextmalapismena = LCase("Kolotoč") 'alternativne strtextmalapismena = StrConv(("Kolotoč"), vblowercase) 'prevod na velka pismena, vysledek "KOLOTOČ" strtextvelkapismena = UCase("Kolotoč") 'alternativne 'strtextvelkapismena = StrConv(("Kolotoč"), vbuppercase) 'reset promenne typu String 'nevhodne strtextreset = "" 'lepsi strtextreset = vbnullstring 'obsahuje promenna typu String nejaky text? 'nevhodne 'If strtext <> "" Then msgbox "ano" 'lepsi If Len(strText) > 0 Then MsgBox "ano" 'pocatek vyskytu jednoho retezce ve druhem, vysledek 5 'Instr(pocatek hledani, v cem hledat, co hledat) 39

intpozice = InStr(1, "kolotoč", "to") 'nahrazeni jednoho retezce ve druhem 'Replace(text, co hledat, cim zamenit) 'vysledek "koloběžka" strtextzamena = Replace("kolotoč", "toč", "běžka") 'spojovani retezcu strspojeni = "James" & " " & "Bond" 'odsazeni a zalomeni textu (odradkovani) 'konstanty vbtab a vblf (vbcrlf) MsgBox "1. radek" & vbtab & 1234 & vblf & "2. radek" 'text vznikly opakovanim znaku, vysledek "*****" strtextopakovani = String(5, "*") 'prevod americkeho formatu cisla na text 's vyhrazenim uvodniho znaku pro znamenko '1234.56... " 1234.56" ' 1234.56... " 1234.56" strtextcislo = Str(1234.56) Sub TechnikaNabalovani() Barvy 'deklarace Dim i As Integer Dim strrada As String 'pro i od 1 do 5 For i = 1 To 5 Next i 'pridani cisla a oddelujiciho retezce 'do stavajiciho obsahu promenne strrada = strrada & i & ", " 'orezani vysledneho retezce o 2 znaky zprava 'tj. o delku oddelovaciho retezce 'a zobrazeni MsgBox Left(strRada, Len(strRada) 2) Jedním z oborů, ve kterém je Záznamník maker špatný jako sluha, je právě práce s barvami. V novodobých verzích Excelu na vás vychrlí sadu vlastností jako Pattern nebo TintAndShade. Tato část objektového modelu se Microsoftu vůbec nepovedla. Přinejmenším při práci s buňkami rada zní: Věnujte pozornost pouze vlastnostem Font.Color (barva písma, doporučuji ovšem spoléhat se jen na černou a bílou tak, aby byla kontrastní vůči pozadí) a Interior.Color (barva pozadí buňky). Jestliže si předem obarvíte buňky v rozložení, v jakém se nachází pod tlačítkem Barva výplně, pak si po jejich výběru a spuštění následujících maker snadno vytvoříte vzorkovník (model RGB: red červená, green zelená, blue modrá složka barvy, interval 0 255). 40

Sub VypisColor() Dim rngbunka As Range Dim lngbarva As Long 'pro kazdou bunku ve vybrane oblasti... For Each rngbunka In Selection 'zjisteni barvy pozadi lngbarva = rngbunka.interior.color 'zapis hodnoty do bunky rngbunka.value = lngbarva 'dalsi bunka Next rngbunka Sub VypisRGB() Dim rngbunka As Range Dim lngbarva As Long Dim intr As Integer Dim intg As Integer Dim intb As Integer 'pro kazdou bunku ve vybrane oblasti... For Each rngbunka In Selection 'zjisteni barvy pozadi lngbarva = rngbunka.interior.color 'rozklad barvy na slozky (cervena, zelena, modra) intr = lngbarva And 255 intg = lngbarva \ 256 And 255 intb = lngbarva \ 65536 And 255 'zapis hodnoty do bunky rngbunka.value = intr & "," & intg & "," & intb 'dalsi bunka Next rngbunka Obrázek ukazuje paletu barev Office 2007 2010 (viz Rozložení stránky skupina Mo vy Barvy). 41

V tomto krátkém vstupu uvedu už jen kód pro resetování barvy pozadí v buňce. Sub ObarveniBunkyReset() 's aktivni bunkou... With ActiveCell 'obarveni pozadi.interior.color = 12419407 'reset barvy 'xlnone... 4142.Interior.Color = xlnone 'nebo '.Interior.ColorIndex = xlnone End With 42