Makra. Orámování oblasti

Podobné dokumenty
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

10 Algoritmizace Příklad 2 Word 2007/ VBA

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

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

MS Excel makra a VBA

8 Makra Příklad 4 Excel 2007

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

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

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

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

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

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

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

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

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

PRACOVNÍ SEŠIT MS EXCEL KOMPLET. Optimálním doplňkem stálého vzdělávání jsou elektronické kurzy.

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

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

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

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...

INFORMATIKA EXCEL 2007

Tabulka obsluhovaná kódem VBA

Relativní a absolutní adresa buňky, pojmenování buňky/rozsahu

Ukázka knihy z internetového knihkupectví

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová

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

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

Data x Informace x Znalosti

Makra lze ukládat v dokumentech nebo šablonách podporující makro příkazy. Obecně jsou tyto příkazy uloženy v části soubory s nazvané VBA projekt.

Visual Basic for Application

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

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

9 Úprava maker Příklad 4 Word 2007/ VBA

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Školení on line blok 1: MS Excel základy (ukázka)

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

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.

Nové kreativní týmy v prioritách vědeckého bádání CZ.1.07/2.3.00/ Tento projekt je spolufinancován z ESF a státního rozpočtu ČR.

Obsahy kurzů MS Office

EXCEL VBA. Programování aplikací v Excelu. Aplikační software na PC

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

Dialog Vzhled stránky

MS EXCEL - Podmíněné formátování

Školení obsluhy PC stručný manuál obsluhy pro používání PC

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

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

Mgr. et Mgr. Jan Petrov, LL.M. Ph.D. BYZNYS A PRÁVO

Algoritmy a datové struktury

3MA481 Propojení Accessu a Excelu David Hach

Úvod do problematiky ÚPRAVY TABULKY

Implementace LL(1) překladů

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: MS Excel I Anotace:

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

2. popis prostředí, nastavení pracovní plochy

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

DUM 06 téma: Tvorba makra pomocí VBA

Slíbená princezna. Univerzální ComboBox

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

Tabulkový procesor otázka č.17

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

Visual Basic for Applications

UniLog-D. v1.01 návod k obsluze software. Strana 1

Počítačová simulace logistických procesů I. 11. přednáška Programování v SimTalk. ŠAVŠ, Fábry

Databázové systémy Cvičení 5.2

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.

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

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_03_IVT_MSOFFICE_02_Excel

Microsoft Office Excel - makra. Automatizace práce v MS Excel. Autor: Jaroslav Nedoma

Uživatelský manuál aplikace. Dental MAXweb

Ukazka knihy z internetoveho knihkupectvi

2. cvičení z ZI1 - Excel

Microsoft Office. Excel vyhledávací funkce

Konvertor diakritiky 3. Instalace

Projekt Atlasu znečištění ovzduší

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

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

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

Obsah. Obsah. Úvod Makra v Excelu Nahrávání maker První setkání s editorem jazyka Visual Basic... 31

Gymnázium Jana Pivečky a Střední odborná škola Slavičín. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

01. HODINA. 1.1 Spuštění programu VB Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

Tabulkový procesor. Základní rysy

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Microsoft Excel kopírování vzorců, adresování, podmíněný formát. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Funkce, podmíněný příkaz if-else, příkaz cyklu for

I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou

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

Klávesové zkratky v aplikaci Excel 2010

MS Excel 3: Pokročilý kurz

Veškeré formátovací úpravy buněk vždy platí pouze pro buňky, které si označíte.

Programujeme v softwaru Statistica

Manuál k programu KaraokeEditor

Hromadná korespondence

Excel tabulkový procesor

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

MS EXCEL 2010 ÚLOHY. Vytvořte tabulku podle obrázku, která bude provádět základní matematické operace se dvěma zadanými čísly a a b.

Obr. P1.1 Zadání úlohy v MS Excel

Transkript:

Makra Původně bylo makro chápáno jako posloupnost příkazů, kterou lze automaticky a opakovaně vykonávat. Sloužilo k automatickému provádění často se opakujících akcí. Nahráli jste posloupnost příkazů, vhodně uložili, a když bylo potřeba provést akci, makro jste spustili. Jak makro vznikne: nahráním zápisem v makrojazyce (VisualBasic) kombinací obou Makro ve VisualBasicu je procedura. Jak nahraji makro: pořádně si rozmyslet a nacvičit celý postup spustit nahrávání (Nástroje/ Makro/ Záznam nového makra) vyplnit údaje o makru (jméno, popis, klávesová zkratka, uložení makra naše vždy tento sešit) provedu jednotlivé akce vše se nahrává ukončení nahrávání makra (panel) prohlédnutí si nahraného makra v editoru VB Vyzkoušejte a prohlédněte, co jste nahráli Orámování oblasti Nahrajte makro, které orámuje vybrané buňky tabulky. pokud má makro pracovat s vybranou oblastí je potřeba mít oblast vybranou před spuštěním makra vybraná oblast je v kódu makra označována jako Selection a odkazuje nás na objekt stejného typu jako Range, můžeme tedy pro práci s vybranou oblastí používat stejné vlastnosti jako u objektu Range. Sub Oramuj() Oramuj Makro Makro zaznamenané 15.5.2003, Lucie Pelikánová Klávesová zkratka: Ctrl+o With Selection.Borders(xlEdgeLeft) With Selection.Borders(xlEdgeTop) With Selection.Borders(xlEdgeBottom)

With Selection.Borders(xlEdgeRight) With Selection.Borders(xlInsideVertical).Weight = xlthin With Selection.Borders(xlInsideHorizontal).Weight = xlthin Asi si již poradíte se zvládáním následujících úkolů, které se týkají vybrané oblasti. Projděte buňky vybrané oblasti a pokud je buňka prázdná dosaďte hodnotu 0. Tuto úlohu zvládnete bez nahrání. Sub Dosad() Dosad Makro Makro zaznamenané 15.5.2003, Lucie Pelikánová Klávesová zkratka: Ctrl+d Dim o As Range For Each o In Selection If IsEmpty(o) Then o.value = 0 Next o Nahrávání maker v relativní adresaci Řada čísel Vytvořte makro, které od zadané pozice (zadává uživatel výběrem buňky) objekt ActiveCell, vytvoří řadu čísel. Jejich počet zadá uživatel pomocí dialogového okna InputBox. Nejprve zkusíme nahrát makro, které by od zadané buňky jen napsalo 5 čísel směrem dolů. Po nahrání si makro prohlédneme a zkusíme několikrát spustit, zjistíme, že takto nahrané makro nepracuje správně, neboť hodnoty píše pořád do stejných buněk, bez ohledu na buňku vybranou. Nechceme aby makro pracovalo s absolutními adresami buněk, potřebovali bychom používat adresy relativní. Nahrávání přepnutí maker do nám relativních umožňuje přepínat do relativní adresace. odkazů Pokud tedy chceme zajistit relativní pohyb vzhledem k ActiveCell (vybraná buňka), musíme se před daným pohybem přepnout do relativních odkazů. Nahrané makro pak vypadá takto: ActiveCell.FormulaR1C1 = "1" ActiveCell.FormulaR1C1 = "2" ActiveCell.FormulaR1C1 = "3"

ActiveCell.FormulaR1C1 = "4" ActiveCell.FormulaR1C1 = "5" Teď několik vysvětlení k používaným objektům a jejich vlastnostem. ActiveCell objekt typu Range, představující aktivní buňku FormulaR1C1 vlastnost objektu typu Range, umožňující zapisovat do buňky hodnoty, vzorce a funkce v adresaci R1C1(R jako radek, C jako sloupec). Pro naši potřebu, bychom asi lépe využívali vlastnost Value. OffSet vlastnost vrací objekt typu Range posunutý o zadaný počet řádek a sloupců (první parametr jsou řádky, druhý sloupce), kladné hodnoty směrem dolů a doprava, záporné nahoru a doleva. Nahraná makra nejsou nikdy příliš elegantní a nám by spíše měla sloužit jako inspirace nebo seznámení s názvy objektů a jejich použití. Jak makro zjednodušit? vypustíme volání vlastnosti Range (náš výběr je jedna buňka, nemá smysl tedy znovu ji specifikovat) Vlastnost FormulaR1C1, nahradíme vlastností Value zabalíme do cyklu (For) místo konkrétní hodnoty použijeme v tomto případě řídicí proměnnou cyklu

For i = 1 To 5 ActiveCell.Value = i ActiveCell.Offset(1, 0).Select Je opravdu nutné aby naše makro realizovalo i fyzický posun po buňkách? Chceme přece jen vyplnit hodnoty. Spojíme tedy oba řádky v těle cyklu do jednoho, adresovat budeme pořád vůči původní aktivní buňce, ale již ji nebudeme vybírat. For i = 1 To 5 ActiveCell.Offset(i 1, 0).Value = i Ještě zbývá načtení počtu čísel pomocí InputBoxu: Dim N As Integer N = InputBox("Zadej počet čísel:", "Rada", 5) For i = 1 To N ActiveCell.Offset(i 1, 0).Value = i Další vlastnosti objektu Range Cells tato vlastnost opět vrací objekt typu Range, používá se na konkrétní specifikaci buněk v dané oblasti. Jak pracuje: Pokud neurčím konkrétní objekt na který vlastnost Cells aplikuji, jedná se o všechny buňky právě aktivního sešitu. Označ Ve sloupci A jsou uloženy zkoumané hodnoty. Tvoří souvislou oblast, jejich konec poznám pomocí prázdné buňky. Chci projít všechny tyto hodnoty, a ty které jsou větší než první hodnota barevně označit. Sub Oznac() Dim Hod As Double Hod = Cells(1, 1).Value i = 2 Do While Not (IsEmpty(Cells(i, 1))) If Hod < Cells(i, 1).Value Then With Cells(i, 1).Interior.ColorIndex = 35.Pattern = xlsolid i = i + 1 Loop Výběr oblasti Jak vyberu oblast. Nejlépe pomocí objektu Range a jeho parametrů, asi nejvýhodnější je použití opět vlastnosti Cells, kdy oblast stanovím pomocí dvou buněk.

Range(Cells(1,1),Cells(8,1) oblast prvních 8 buněk z prvního sloupce sešitu. Mohla bych také použít, určení oblasti pomocí adresy bloku, ale toto určování je v makrech velmi neprakticeké: Range( A1:A8 ), uplatnilo by se pokud bych opravdu měla přesně stanovenou oblast dat. Pokud bych se již v makrech chtěla odkazovat na přesně definované oblasti je lepší označit je názvy (pojmenování oblasti buněk). Range( mojedata ) Není moc výhodně v programu se dlouze odkazovat na vybranou oblast dat, pokud pomocí vybraných kritérii určím oblast dat je výhodnější pak tuto oblast přiřadit do proměnné typu Range. Dim r As Range Set r = Range(Cells(1,1),Cells(8,1) a v programu již dále pracovat pomocí proměnné r. Odstranění buněk Vytvořte makro, které odstraní ty řádky tabulky jménem Data, které mají v prvním sloupci datum menší než je aktuální datum. Sub Odtsran() Dim r As Range Set r = Range("Data") For i = 1 To r.rows.count If r.cells(i, 1) < Date Then r.cells(i, 1).EntireRow.Delete Rows kolekce zahrnující všechny řádky daného objektu typu Range, využila jsem pro určení počtu řádek ve vybrané oblast. Podobně Columns kolekce sloupců. EntireRow vlastnost, která vrátí celou objekt reprezentující celou řádku (nebo řádky), které obsahují danou buňku, buňky. Takto bychom ve výčtu vlastností a příkladech mohli pokračovat dále. Neprobrali jsme celou řadu vlastností. Zatím jsme se pořád věnovali jen jednotlivým buňkám listu. V VBA jde samozřejmě pracovat i s celými listy, sešity, soubory. Nám s našim omezeným časem musí stačit tyto ukázky jak v rámci Excelu zacházet s buňkami, jak si vytvářet vlastní funkce a vlastní jednoduchá makra