Slíbená princezna. Univerzální ComboBox

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

MS Excel makra a VBA

VÝŘEZ OBLASTI BUNĚK VZORCEM

Jak vložit obrázek do oblasti buněk

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

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

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

V praxi je běžné, že se ovlivňuje více prvků navzájem. Tady už si s jednou globální proměnnou nevystačíme.

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 Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

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

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

Tabulka obsluhovaná kódem VBA

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

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

3MA481 Propojení Accessu a Excelu David Hach

8 Makra Příklad 4 Excel 2007

Generátor list nastavení

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

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

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.

Dialog Najít a nahradit

Visual Basic for Application

Spuštění a ukončení databázové aplikace Access

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

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.

DUM 06 téma: Tvorba makra pomocí VBA

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

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

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

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

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.

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

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

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

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

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

POVRCHOVÝ (OBRYSOVÝ GRAF)

DATABÁZE ACCESS Ovládací prvky ve formuláři 5 TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.

Obsah. Základy práce s databází 13. Tabulky 43. Obsah. Úvod 9 Poděkování 12

Tabulka jako pozadí na Ploše

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

Výběr složek a souborů ve VBA

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

8. Formátování. Úprava vzhledu tabulky

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

MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI

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

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

Povrchový (obrysový graf)

KAPITOLA 8 TABULKOVÝ PROCESOR

V této aplikaci si ukážeme jakým způsobem zobrazovat čas a datum. Pro ovládání zobrazení času a datumu se naučíme využívat nabídku.

Makra. Orámování oblasti

Formátování pomocí stylů

742 Jak prohlížet seznam dat pomocí formuláře. další záznamy pomocí formuláře

Tabulka aneb Seznam čili ListObject

MsgBox, InputBox, FileDialog, Pravomoci vlastních funkcí (UDF) Function TESTOVKA() 'dialog (MsgBox) TESTOVKA = MsgBox("Baf!

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

Excel Board příprava. ProExcel.cz Excel Board výuková a prezentační tabule pro Excel 1

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

Když se uživatelů zeptám, jak něco v buňkách listu skryjí, jsou odpovědi většinou následující:

MANUÁL K PROGRAMU JEDNODUCHÝ SKLAD (VER-1.2)

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

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

Microsoft Office. Excel vyhledávací funkce

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010

Tematický celek Práce ze soubory. 5.2 Objektový model FSO. - slouží pro ukládání záznamů, - každý ze záznamů obsahu jedno nebo více polí.

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

Registr práv a povinností

Star Trek Do temnoty (infografika na panelu)

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

František Hudek. květen 2012

Dialog Vzhled stránky

5. kapitola Spouštění aplikací Visual Basic.Net, spustitelné soubory

Práce se souborem EU peníze středním školám Didaktický učební materiál

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4

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

Cvičné příklady Hodina 2

Modul Konfigurace MTJ Service, s.r.o.

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

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

kontrola povinnosti údajů kontrola rozsahu čísel kontrola ové adresy, telefonního čísla nutná součást každého software

Prozkoumání příkazů na pásu karet Každá karta na pásu karet obsahuje skupiny a každá skupina obsahuje sadu souvisejících příkazů.

Co je nového 2018 R2

Řešení. ŘEŠENÍ 36 Výsledková listina soutěže

První cestou, jak vynechat jakákoliv data v grafu, je jejich skrytí, ať už přímo či filtrem aplikovaným na řádcích.

Registr práv a povinností

Článek je napsán pro českou verzi Excelu 2010, ale věřím, že i v jných verzích si dovedete poradit.

Sklad v Excelu OBSAH 2/11

Data x Informace x Znalosti

Jeden z mírně náročnějších příkladů, zaměřený na úpravu formátu buňky a především na detailnější práci s grafem (a jeho modifikacemi).

Microsoft Word základní

Uživatelská příručka. Marushka Photo. aplikace firmy GEOVAP, spol. s r.o.

Ř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)

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

ERP informační systém

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

Použití inteligentních značek s informačními službami

Studijní skupiny. 1. Spuštění modulu Studijní skupiny

Transkript:

Již dříve jsem zmínil vizi jediného supercomba na listu, jehož obsah (seznam položek čerpaný z listu databanky) se mění v závislosti na sloupci, pro který má v danou chvíli sloužit. V tomto článku představím převážně funkční návrh. Univerzální ComboBox Samozřejmě se neobejdeme bez maker VBA. Původní řešení jsem měl postavené na ovládacím prvku Formuláře, předělávka již využívá ovládací prvek ActiveX (ComboBox). Obě varianty mají své pro i proti, nicméně v prvku ActiveX lze kupříkladu nastavit velikost písma a alespoň částečně ovlivnit grafickou podobu. Poté, co si ComboBox vybereme na kartě Vývojář (pokud ji nevidíte, musíte ji přidat přes Soubor / Možnosti), nastavíme v Režimu návrhu požadované vlastnosti prvku (tlačítko Vlastnosti zobrazí dialog Properties). Teoreticky lze v seznamu ComboBoxu i vyhledávat, bohužel v kombinaci s užitou událostí klepnutí na prvek (Click) to v praxi nelze dost dobře realizovat. Zde je moje nastavení: Excelplus.NET 1

Univerzální ComboBox Properties Asi nejužitečnější je změna vlastnosti Style na fmstyledropdownlist. Prvek tak nebude umožňovat editaci textového pole nad seznamem. Škoda, že vlastnost ShowDropButtonWhen (skrytí tlačítka vpravo v textovém poli) Excel ignoruje. Následně doplníme procedury uvedené níže do modulu listu, Excelplus.NET 2

kde je ComboBox aplikován a vypneme Režim návrhu. Deklarační část modulu listu: 'zdroj dat Private Const cstrdatabanka = "Databanka" 'cíl Private Const cstroblastpouziti As String = "B3:D22" Událostní procedura listu reagující na změnu výběru buněk: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngoblastpouziti As Range Dim rngvybranaoblast As Range Dim rngbunkazobrazeni As Range Dim rngdataprvnibunka As Range 'je zapnutý režim kopírování? If Application.CutCopyMode = xlcopy Then Exit Sub 'oblast použití Set rngoblastpouziti = Range(cstrOblastPouziti) 'kontrola výběru buněk (jednosloupcový výběr v oblasti použití) If Union(rngOblastPouziti, Target).Address = rngoblastpouziti.address And _ Target.Columns.Count = 1 Then 'přiřazení vybrané oblasti do objektové proměnné Set rngvybranaoblast = Target.Areas(Target.Areas.Count) 's vybranou oblastí... With rngvybranaoblast 'umístění ovládacího prvku určuje buňka napravo 'od poslední přidané buňky ve výběru If ActiveCell.Address =.Cells(1).Address Then Set rngbunkazobrazeni =.Cells(.Cells.Count)(1, 2) Else Set rngbunkazobrazeni =.Cells(1)(1, 2) Excelplus.NET 3

End With 's ovládacím prvkem... With Me.cboUniversal 'odstranění stávajících položek.clear 'vyhledání buňky s první odpovídající položkou v databance Set rngdataprvnibunka = _ Worksheets(cstrDatabanka).Range("1:1").Find( _ Cells(rngOblastPouziti.Offset(-1, _ ).Row, ActiveCell.Column)).Offset(1, ) 'naplnění ovládacího prvku položkami.list = Worksheets(cstrDatabanka).Range(rngDataPrvniBunka, _ rngdataprvnibunka.end(xldown)).value 'umístění prvku (vpravo od poslední buňky výběru).top = rngbunkazobrazeni.top.left = rngbunkazobrazeni.left End With 'zobrazení ovládacího prvku Me.cboUniversal.Visible = True Else 'skrytí ovládacího prvku Me.cboUniversal.Visible = False End Sub Událost SelectionChange má jednu nevýhodu. Jestliže chcete připojenou akci realizovat na stejné oblasti, musíte doslova použít Cimrmanův krok stranou a vrátit se zpět. Událostní procedura klepnutí na ovládací prvek (rovněž modul listu): Private Sub cbouniversal_click() Dim rngbunka As Range Dim ref Excelplus.NET 4

With cbouniversal 'pro neprázdný výběr buněk If (Selection.Cells.Count > 1) And (WorksheetFunction.CountA(Selection) _ > ) Then 'dotaz na přepsání ref = MsgBox("Přepsat neprázdné buňky ve výběru (nelze vzít zpět)?", _ vbexclamation + vbyesno + vbdefaultbutton2) Else Select Case ref 'ano, přepsat stávající Case vbyes Selection.Cells =.List(.ListIndex) 'ne, ponechat stávající Case vbno On Error Resume Next For Each rngbunka In Selection 'naplnit jen prázdné buňky If IsEmpty(rngBunka) Then rngbunka =.List(.ListIndex) Next rngbunka On Error GoTo End Select 'naplnění prázdných buněk Selection.Cells =.List(.ListIndex) 'skrytí ovládacího prvku.visible = False End With Excelplus.NET 5

End Sub Řešení není nijak zvlášť uhlazené. Jednoduše musíme přetrpět některé nedodělky ovládacích prvků ActiveX a vystačit si s tím, co máme k dispozici. Jistě, nabízí se i varianta vlastního panelu s výběrovými seznamy, ať už zpracovaného přímo v Pásu karet, na vlastním Panelu nástrojů pod kartou Doplňky a nebo na formuláři UserForm. Ve větším měřítku, kdy je zdrojem databáze, stojí za to spustit Visual Studio (Community zdarma) a směřovat řešení i třeba do Podokna úloh. Příloha: univerzalni_combobox.zip Excelplus.NET 6