Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
VBA – Excel Lenka Forstová
2
Literatura MS Excel 2000 – Programování ve VBA, John Walkenbach, ComputerPress pro vyšší verze Excelu mladší, mírně upravená vydání pěkné a podrobné
3
Příklady vlastností objektů
Objekt WorkBook Author – jméno autora sešitu Creator – jméno aplikace, která sešit vytvořila Name – jméno sešitu Path – cesta, kde je sešit uložen Saved – True je–li sešit uložen, False uložen není Vlastnosti je možné buď nastavovat nebo naopak zjišťovat jejich hodnoty Existují vlastnosti, které jsou určeny, buď jen pro čtení nebo je pro zápis
4
Metody objektů Objekt Workbook Volání metody
Activate – aktivuje první okno, které souvisí se sešitem Close – zavře sešit Protect – zamkne sešit Save – uloží sešit SaveAs – parametry pro uložení UnProtect – Odemkne sešit Volání metody jméno objektu.název metody metody mohou mít různý počet povinných, či nepovinných parametrů
5
Události objektů Provede se událost a poté se zavolá uživatelem naprogramovaná procedura hlavičku nutno navolit, nelze jen napsat Editor VBA~v okně Project příslušný modul~MS Excel Objects~ViewCode Objekt Workbook Activate Open BeforeClose BeforePrint Př.
6
Objekty a jejich kolekce
Kolekce je soubor objektů stejného typu Název kolekce je většinou shodný s názvem objektu + s Prvky z dané kolekce musím vybrat Možných je několik způsobů výběru objektů indexem Worksheets(1).Name = "První list" jménem Worksheets("List1").Name = "První list" pomocí metody Item – většinou se nepoužívá Worksheets.Item(1).Name = "První list" Metoda Count Metoda AddItem cyklus For Each Př.
7
Reference k objektům Application.WorkBooks("Makra.xls"). _ WorkSheets("List1").Range("A1").Value = 10 Objekt aplikace pokud pracujete v Excelu nemusíte používat pokud vynecháte objekt WorkBook, je chápáno, že se odkazujete na aktivní sešit nebo ActiveWorkBook.WorkSheets("List1").Range("A1")._ Value = 10 vlastnost ActiveWorkBook je vlastnost aplikace
8
Reference k objektům pokud vynecháte objekt Worksheet, je chápáno, že se odkazujete na aktivní list Range("A1").Value = 10 nebo ActiveSheet.Range("A1").Value = 10 některé objekty mají určené defaultní vlastnosti Range("A1") = 10 nebo Range("A1").Value = 10 odkaz na aktivní buňku nebo výběr ActiveCell.Value = 10
9
Reference k objektům Pozor! Bunka = Range("A1") vs.
Set Bunka = Range("A1")
10
Prvky jazyka spojené s objekty
Struktura With – End With zjednodušení odkazů na objekty With <object> <příkazy> End With Proměnná typu Object Dim Oblast As Object Set Oblast = WorkSheets(1).Range("A1:B3")
11
Prvky jazyka spojené s objekty
vynulování proměnné typu object – znamená přiřazení hodnoty Nothing porovnání odkazů na objekty Is If Oblast Is Nothing then ... místo identifikátoru Object můžete uvést konkrétní typ Dim Oblast As Range Set Oblast = WorkSheets(1).Range("A1:B3")
12
Objekt Application reprezentuje celou aplikaci Excelu
Vlastnosti objektu Caption – nadpis Cursor – ukazatel myši DisplayAlerts – potlačení zobrazení některých hlášení DisplayFormulaBar – skrytí řádku vzorců DisplayStatusBar – skrytí stavového řádku OperatingSystem – vrací název a verzi operačního systému StatusBar – vrací nebo nastavuje text na stavové řádce StatusBar = "Počkej" StatusBar = False WindowState – stav okna ScreenUpdating Workbooks Zavře, bez nahrady, všechny neuložené pomocné sešity workbooks.xls
13
Objekt Application další vlastnosti objektu ActiveWorkbook
ThisWorkbook ActiveSheet ActiveCell Selection
14
Metody objektu Application
Calculate – vyvolá přepočítání vzorců ve všech sešitech Dialogs – vrací objekt dialog vestavěných Dialogových oken Excelu Application.Dialogs(xlDialogOpen).Show 'zobrazí dialogové okno GetOpenFileName GetSaveAsFileName InputBox Quit – ukončení aplikace Excelu Run – umožňuje spustit makro zapsané v libovolném jazyce Wait – přeruší makro do času uvedeného jako parametr Dialogy.xls
15
Objekt WorkBook vlastnosti, které lze nastavit v SummaryInfo a Předvolbách Name – jméno sešitu Path – určuje cestu, kde je soubor uložen Saved – True – je–li soubor uložen Metody objektu WorkBook Activate – aktivuje první okno sešitu Close – uzavírá sešit – parametry Protect – uzamčení sešitu – parametry Sheets – kolekce listů sešitu Worksheets – kolekce tabulkových listů sešitu Save – Uloží sešit na disk – nepovinný parametr filename UnProtect – odemkne daný sešit
16
Objekt WorkSheet objekt, který reprezentuje tabulky Excelu
vlastnosti objektu Name – vrací nebo nastavuje jméno listu UsedRange – vrací objekt typu Range reprezentující vyplněnou oblast listu Visible – skrytí listu, lze ho také nastavit tak, aby jeho zobrazení bylo možné pouze makrem Skryte.xls
17
Metody objektu WorkSheet
Cells – vrací buňky jako objekt typu Range .Cells(2,1) Range – oblast, která reprezentuje buňku nebo oblast buněk .Range("A1:B3") .Range("A1","B3") .Range(.Cells(1,1),.Cells(3,2)) jiné, násobná oblast .Range("A1, B3") Columns, Rows – kolekce objektů typu Range
18
Další metody WorkSheet
Activate – aktivuje daný list Calculate – přepočítává všechny buňky v listě Copy – kopíruje list před nebo za uvedený list v sešitě Delete – odstraní zadaný list ze sešitu Protect –uzamkne, ochrání list Unprotect – odemkne daný list
19
Objekt Range Tento objekt reprezentuje buňku nebo výběr buňek tabulky v Excelu Vlastnosti objektu Range – práce s oblastmi CurrentRegion – vrací objekt Range aktuální oblasti, to je oblast ohraničená prázdným řádkem a sloupcem Column – vrací číslo prvního sloupce v první oblasti Range("C2:E4,A2:B5") ' = 3 EntireColumn, EntireRow – reprezentuje celý řádek, či sloupec ve vybrané oblasti Row – vrací číslo prvního řádku v první oblasti
20
Vlastnosti Range Vlastnosti pracující s hodnotami a vzorci
Formula – vrací nebo nastavuje vzorec – anglické názvy funkcí FormulaLocal – vrací nebo nastavuje vzorec – názvy funkcí dle Excelu a oddělovače nastavené v ovládacím panelu Value – vrací nebo nastavuje hodnotu v buňce nebo v oblasti buněk Vlastnosti objektu Range ColumnWidth, Height, Hidden, RowHeight, Width Formát buňky Font, HorizontalAligment, Interior, NumberFormat, Orientation, Style, VerticalAligment,
21
Metody objektu Range Activate – aktivuje jednu buňku ve vybrané oblasti Address – vrací adresu oblasti AutoFill – vytváří řadu hodnot v oblasti buňek AutoFit – přizpůsobí šířku sloupce BorderAround – přidá rámeček Borders – vrací kolekci Borders Calculate – přepočítá buňky ve vybrané oblasti Characters – vrací objekt typu characters, který umožňuje formátovat znaky uvnitř řetězce Clear, ClearContents, ClearFormat Offset – posune oblast o daný počet řádků a sloupců
22
Další metody objektu Range
Copy – kopíruje oblast buněk PasteSpecial – vloží obsah schránky na místo dané objektem Columns – kolekce sloupců ve vybrané oblasti Rows – kolekce řádků vybrané oblasti Cells – kolekce buněk Range ActiveSheet.Columns(2).Range("A1") 'B1 Select – označí oblast buněk tabulky používat s mírou Resize – změna rozsahu oblasti Set r1 = Range("A1:B2").Resize(4,1) 'A1:A4 Sub PridejPosledni() 'Do 1. bunky pod oznaèenou oblastí vloží hodnotu 1.buòky oznaèené oblasti ' jsou uvedeny dvì možnosti zápisu, existují další ' uvedené možnosti lze rùznì kombinovat ' lze i bez promìnné Oblast Dim Oblast As Range Set Oblast = Selection.CurrentRegion '1.øešení: Oblast.Cells(Oblast.Rows.Count + 1, 1).Value = Oblast.Cells(1, 1).Value '2.øešení:Oblast(1, 1).Offset(Oblast.Rows.Count, 0).Value = Oblast.Cells(1, 1).Value End Sub Př.
23
Metody Application pro Range
Union – sjednocení oblastí Set r1 = Range("A1:B2") Set r2 = Range("C3:D4") Set myMultiAreaRange = Union(r1, r2) Intersect – průnik oblastí Set r1 = Intersect(ActiveCell.EntireColumn, _ ActiveSheet.UsedRange) Př. UvodII.xls Sub VyznamneBunky() Dim Oblast As Range Dim Bunka As Range Set Oblast = Intersect(ActiveCell.EntireColumn, ActiveSheet.UsedRange) For Each Bunka In Oblast 'akce s bunkami Bunka.Interior.ColorIndex = 3 Next Bunka End Sub
24
Objekt Font Objekt složí k nastavení písma, jeho velikosti a stylu
Vlastnosti Bold – tučné Color – barva písma – fukce RGB ColorIndex – vrací nebo nastavuje barvu písma z palety barev FontStyle – vlastnosti jako Italic a Bold Name – jméno fontu Size – vrací nebo nastavuje velikost písma v bodech Strikethrough, Subscript, SuperScript, UnderLine
25
Objekt Interior Objekt popisující vnitřek buněk Vlastnosti objektu
Color – barva výplně jako RGB ColorIndex – brava z palety Pattern – vrací nebo nastavuje vzorek výplně buňky PatternColor – vrací nebo nastavuje barvu vzorku PatternColorIndex – vrací nebo nastavuje číslo barvy z palety barev
26
Objekt Border Objekt popisující okraje buněk Vlastnosti pobjektu Color
ColorIndex LineStyle – vrací nebo nastavuje styl čáry Weight – nastavuje tloušťku čáry
27
Objekt Window objekt reprezentuje okno v Excelu
Windows – kolekce, obsahuje všechna okna v aplikaci, otevřené sešity, informační okna Workbooks(n) – obsahuje pouze okna daného sešitu Vlastnosti Caption – nastavuje nebo vrací jméno okna DisplayFormulas – zobrazuje vzorce v buňkách DisplayGridlines – nastavuje zobrazení mřížky DisplayHeadings – nastavuje, zda bude zobrazeno záhlaví řádků
28
Vlastnosti objektu Window
DisplayWorkbookTabs – v listě se zobrazí záložky listů ScrollColumn – nastaví nebo zjistí sloupce, který je zobrazen u levého okraje okna dokumentu ScrollRow – stejné jako u sloupce Height – vrací nebo nastavuje výšku okna v bodech Left – nastavuje nebo vrací polohu okna os levého okraje využitelné oblasti Width, Top WindowState– mění stav okna Zoom – nastavuje nebo vrací zvětšení okna v procentech
29
Metody objektu Window Activate – sktivuje okno Close – uzavře okno
SelectedSheets – vrací kolekci Sheets, která reprezentuje všechny listy v sešitě LargeScroll – posunuje okno po strankách SmallScroll – posunuje obsah okna po jednotlivývh řádcích nebo sloupcích
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.