Microsoft Excel je jedním z nejoblíbenějších programů používaných pro práci s tabulkami a daty. Díky své flexibilitě a schopnostem VBA (Visual Basic for Applications) se Excel stává ještě výkonnějším nástrojem pro automatizaci úloh a vytváření uživatelských rozhraní.
Jedním ze zajímavých aspektů programování VBA v Excelu je možnost vytvářet tvary, které uživatelům umožňují interakci s makry a rozvržení. Při vytváření formulářů však může být nutné přidat rolování pro lepší správu obsahu formuláře, zvláště pokud obsahuje mnoho položek nebo velké množství dat.
V tomto článku se podíváme na to, jak přidat rolování do formuláře VBA Excel. Podíváme se na několik příkladů kódu, které vám pomohou pochopit, jak implementovat rolování ve vašich formulářích a učinit uživatelské rozhraní uživatelsky přívětivějším.
VBA Excel: scrolling formuláře v programu
K implementaci rolování formuláře v aplikaci VBA Excel lze použít ovládací prvek ScrollBar (rolovací lišta), který uživateli umožňuje měnit polohu obsahu formuláře vodorovně nebo svisle. ScrollBar se často používá spolu s ovládacími prvky, jako je ListBox nebo DataGridView, aby bylo možné zobrazit velké množství dat.
Chcete-li přidat ScrollBar do formuláře VBA Excel, musíte provést následující kroky:
- Otevřete režim vývojáře v Excelu výběrem karty vývojář z nabídky a kliknutím na tlačítko Režim vývojáře.
- Na kartě Vývojář vyhledejte skupinu ovládacích prvků a vyberte posuvník.
- Klikněte na tvar, kam chcete umístit ScrollBar, a pomocí myši nakreslete obdélník.
Po přidání ScrollBar do tvaru můžete upravit jeho vlastnosti, jako je velikost, poloha, orientace (horizontální nebo vertikální) a rozsah hodnot. Různé události, jako je událost změny hodnoty ScrollBar nebo událost posouvání, lze také použít k provádění dalších akcí nebo aktualizaci dat na formuláři.
Příklad použití ScrollBar najdete v následujícím kódu VBA:
Private Sub ScrollBar1_Change()' Получить текущее значение ScrollBarDim value As Integervalue = ScrollBar1.Value' Выполнить дополнительные действия в зависимости от значения ScrollBarIf value = 0 Then' Действие 1ElseIf value = 1 Then' Действие 2Else' Действие 3End IfEnd Sub
V tomto příkladu pokaždé, když uživatel změní hodnotu ScrollBar, dojde k provedení určitých akcí v rámci postupu ScrollBar1_Change(). Každý podmíněný operátor může zadat své vlastní akce v závislosti na aktuální hodnotě ScrollBar.
Na závěr, rolování formuláře je důležitou funkcí v aplikaci VBA Excel, která uživatelům umožňuje snadno prohlížet a manipulovat s daty na formuláři. Použití ovládacího prvku ScrollBar vám umožňuje konfigurovat rolování podle specifických potřeb aplikace.
Princip rolování v Excelu VBA
Rolování v aplikaci VBA Excel vám umožňuje procházet obsahem formuláře nebo listu, když přesahuje viditelnou oblast. Základem práce scrollingu jsou události pohybu kolečka myši nebo stisknutí tlačítek šipek nahoru/dolů nebo doleva/doprava.
K implementaci rolování v aplikaci VBA Excel lze použít funkce a vlastnosti objektů tvaru nebo listu. Pomocí těchto funkcí a vlastností můžete zjistit aktuální souřadnice rolování, nastavit nové souřadnice nebo maximální hodnoty.
Například pro rolování formy lze použít vlastnosti Scrolleft a ScrollTop. Vlastnost ScrollLeft nastavuje nebo vrací aktuální horizontální pozici rolování, zatímco vlastnost ScrollTop je vertikální. K posouvání tvaru na uvedený počet pixelů lze také použít metody Scroll. Například metoda Scroll(0, -10) posune tvar o 10 pixelů nahoru a metoda Scroll (10, 0) o 10 pixelů doprava.
Podobně lze použít vlastnosti a metody pro rolování listu v aplikaci VBA Excel. Například vlastnosti ScrollRow a ScrollColumn nastavují nebo vracejí aktuální viditelný řádek a sloupec listu, zatímco metoda ScrollArea určuje oblast rolování.
| Vlastnost / metoda | Popis |
|---|---|
| ScrollLeft | Nastaví nebo vrátí aktuální horizontální pozici rolování tvaru |
| ScrollTop | Nastaví nebo vrátí aktuální vertikální pozici rolování tvaru |
| Scroll | Posouvá tvar na uvedený počet pixelů |
| ScrollRow | Nastaví nebo vrátí aktuální viditelný řádek listu |
| ScrollColumn | Nainstaluje nebo vrátí aktuální viditelný sloupec listu |
| ScrollArea | Nastaví oblast scrollingu listu |
K implementaci rolování v aplikaci VBA Excel lze také použít složitější metody, jako je zpracování událostí kolečka myši. Pomocí události MouseWheel lze určit směr rotace kolečka a změnit aktuální pozici rolování podle tohoto směru.
Společným principem rolování v aplikaci VBA Excel je získání aktuálních souřadnic rolování a jejich změna v závislosti na aktivitě uživatele nebo daných podmínkách. To vám umožní spravovat posouvání obsahu formuláře nebo listu a poskytuje pohodlnější přístup k informacím, zvláště když se nevejde na obrazovku.
Příklady použití scrollingu v aplikaci VBA Excel
Rolování v aplikaci VBA Excel umožňuje programově procházet obsahem formuláře nebo listu, který se na obrazovku nevejde. To je zvláště užitečné, když potřebujete pracovat s velkým množstvím dat nebo vytvářet interaktivní uživatelská rozhraní. Níže je několik příkladů použití scrollingu v aplikaci VBA Excel.
1. Použití scrollingu k pohybu po listu
K pohybu po listu pomocí rolování lze použít metodu ScrollRow pro vertikální pohyb a metodu ScrollColumn pro horizontální pohyb. Například následující kód posune aktivní buňku o 5 řádků dolů:
ActiveSheet.ScrollRow = ActiveCell.Row + 5
A další kód posune aktivní buňku o 5 buněk doprava:
ActiveSheet.ScrollColumn = ActiveCell.Column + 5
2. Použití scrollingu k pohybu ve formě
V Excelu lze vytvářet vlastní formuláře a pro pohyb obsahu formuláře lze použít metody VerticalScrollBar a Horizontscrollbar . Chcete-li například posunout formulář o 10 jednotek dolů, můžete použít následující kód:
UserForm1.VerticalScrollBar.Value = UserForm1.VerticalScrollBar.Value + 10
A chcete-li posunout formulář o 10 jednotek doleva, můžete použít následující kód:
UserForm1.HorizontalScrollBar.Value = UserForm1.HorizontalScrollBar.Value - 10
3. Použití scrollingu k pohybu ovládacím prvkem
K pohybu obsahu ovládacích prvků na formuláři lze také použít scrolling. Pokud máte například v ovládacím prvku ListBox vícepodlažní seznam a potřebujete jej posouvat nahoru nebo dolů, můžete použít metody Scroll nebo TopIndex . Například následující kód posune seznam dolů o jeden řádek:
ListBox1.TopIndex = ListBox1.TopIndex + 1
A další kód posune seznam nahoru o jeden řádek:
ListBox1.TopIndex = ListBox1.TopIndex - 1
Toto jsou pouze některé příklady použití scrollingu v aplikaci VBA Excel. Scrolling poskytuje pohodlný způsob, jak se pohybovat v obsahu formuláře nebo listu a usnadnit a zefektivnit práci s daty.