Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » vba-formulare » excel-vba-formular-commandbutton

CommandButton (Tlačítko) ve formuláři VBA

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

... CommandButton (Tlačítko) a jeho použítí ve formuláři za pomocí VBA...

Vložit CommandButton

Karta Vývojář - Visual Basic. Menu Insert - UserForm. Z Toolboxu vybereme CommandButton.

MS Excel - formuláře - CommandButton (Tlačítko)

Vlastnosti CommandButton

Seznam základních vlastností prvku CommandButton (Tlačítko). Okno vlastností můžeme zobrazit klávesou F4.

  • (Name)
  • Accelerator
  • AutoSize
  • BackColor
  • BackStyle
  • Cancel
  • Caption
  • ControlSource
  • ControlTipText
  • Default
  • Enabled
  • Font
  • ForeColor
  • Height
  • HelpContextID
  • Left
  • Locked
  • MouseIcon
  • MousePointer
  • Picture
  • PicturePosition
  • TabIndex
  • TabStop
  • Tag
  • TakeFocusOnClick
  • Top
  • Visible
  • Width
  • WordWrap

(Name)

Pojmenování prvku (můžeme změnit). Ve kódech se pak budeme na tento prvek odkazovat jeho jedinečným názvem. V našem příkladě je (Name) CommandButton1.

Pozor: Název prvku se musí změnit před psaním kódu. Když dojde ke změně názvu po napsání VBA kódu jeho odkaz se nezmění.

Accelerator

Nastaví nebo získá přístupovou (zkratkovou klávesu Alt) klávesu daného ovládacího prvku.

  CommandButton1.Accelerator = "C"
  ZkratkovaKlavesa = CommandButton1.Accelerator

AutoSize

Specifikuje, zda mění objekt automaticky velikost v souladu se svým celým obsahem. Pokud mění tak velký text zvětší objekt. Hodnoty:

  • False (výchozí nastavení) - nemění velikost
  • True - změní velikost podle textu.
  CommandButton1.AutoSize = False
  CommandButton1.AutoSize = True
  AutosizeStav = CommandButton1.AutoSize

BackColor

Vrací nebo nastavuje barva pozadí objektu TextBox.

  CommandButton1.BackColor = RGB(255, 128, 128)
  BarvaPozadi = CommandButton1.BackColor

BackStyle

Vrací nebo nastavuje styl pozadí objektu.

  • fmBackStyleTransparent (0) Pozadí je průhledné.
  • fmBackStyleOpaque (1) Pozadí je neprůhledné (výchozí nastavení).
  CommandButton1.BackStyle = fmBackStyleTransparent

Cancel

Vrací nebo nastavuje hodnotu, která udává, zda CommandButton (Tlačítko) je stornovacím tlačítkem

  • True - je stornovacím tlačítkem.
  • False - není stornovacím tlačítkem (výchozí nastavení).
  CommandButton1.Cancel = True

Caption

Varcí Text na objektu Label (Popis) nebo ho nastaví.

  CommandButton1.Caption = "muj text"
  AktualniTextVCheckBox = CommandButton1.Caption

ControlTipText

Bublinková nápověda. Zobrazí se při najetí nad objekt. Případně vratí nastavenou hodnotu.

  CommandButton1.ControlTipText = "Můj text v bublinkové nápovědě."   ControlTipText = CommandButton1.ControlTipText

Default

Určí nebo vrací hodnotu zda je tlačítko CommandButton výchozím formuláře.

  • True - je výchozím tlačítkem.
  • False - není výchozím tlačítkem (výchozí nastavení)
  CommandButton1.Default = True

Enabled

Určuje, zda se může ovládací prvek stát aktivním a odpovídat na události, generované uživatelem. Nebo specifikuje jak je tato vlastnost aktuálně nastavena.

  CommandButton1.Enabled = True
  CommandButton1.Enabled = False
  EnabledNastaveni = CommandButton1.Enabled

Font

Vrací nastavení fontu nebo nastaví požadovaný fontu (velikost, typ, ...). Případně vratí nastavené hodnoty.

  CommandButton1.Font.Italic = True
  CommandButton1.Font.Size = 22
  CommandButton1.Font.Bold = True
  CommandButton1.Font = "Times New Roman"
  velikostFontu = CommandButton1.Font.Size
  typFontu = CommandButton1.Font
  FontJeKurziva = CommandButton1.Font.Italic

ForeColor

Varcí nastavení nebo definuje barvu popředí objektu tj. v našem případě jakou barvu bude mít text.

  CommandButton1.ForeColor = RGB(255, 255, 0)
  BarvaPopredi = CommandButton1.ForeColor

Height

Vrací výšku objektu nebo jeho výšku nastaví.

  CommandButton1.Height = 28
  Vyska = CommandButton1.Height

HelpContextID

Odkaz do nápovědy ve formátu Microsoft Windows pro konkretní objekt

  

Left

Umístění objektu od levého okraje. Nebo zjištění jak je umístěn objekt.

  umistenileft = CommandButton1.Left
  CommandButton1.Left = 12

Locked

Určuje, zda lze ovládací prvek editovat. Případně vrací stav této vlastnosti. Nabývá hodnot TRUE (nelze editovat), FALSE (lze editovat, jedná se o vychozí nastavení).

  CommandButton1.Locked = TRUE
  CommandButton1.Locked = FALSE

MouseIcon

Přiřazení ikony pro objekt

  CommandButton1.MouseIcon = LoadPicture("c:\mojeIkonka.ico")

MousePointer

Vrací typ ukazatele myši, nebo nastaví ukazatel myši. Hodnoty jsou:

  • fmMousePointerDefault 0 - standartní ukazatel
  • fmMousePointerArrow 1
  • fmMousePointerCross 2
  • fmMousePointerIBeam 3
  • fmMousePointerSizeNESW 6
  • fmMousePointerSizeNS 7
  • fmMousePointerSizeNWSE 8
  • fmMousePointerSizeWE 9
  • fmMousePointerUpArrow 10
  • fmMousePointerHourglass 11
  • fmMousePointerNoDrop 12
  • fmMousePointerAppStarting 13
  • fmMousePointerHelp 14
  • fmMousePointerSizeAll 15
  • fmMousePointerCustom 99
  CommandButton1.MousePointer = fmMousePointerHelp

Picture

Nastavení obrázek na pozadí.

  CommandButton1.Picture = LoadPicture("c:\mujObrazek.bmp")

PicturePosition

Pozice obrázku relativně k titulku.

  • fmPicturePositionLeftTop - 0 - vlevo od titulku zarovnání s horním okrajem
  • fmPicturePositionLeftCenter - 1 -
  • fmPicturePositionLeftBottom - 2 -
  • fmPicturePositionRightTop - 3 -
  • fmPicturePositionRightCenter - 4 -
  • fmPicturePositionRightBottom - 5 -
  • fmPicturePositionAboveLeft - 6 -
  • fmPicturePositionAboveCenter - 7 -
  • fmPicturePositionAboveRight - 8 -
  • fmPicturePositionBelowLeft - 9 -
  • fmPicturePositionBelowCenter - 10 -
  • fmPicturePositionBelowRight - 11 -
  • fmPicturePositionCenter - 12 -
  CommandButton1.PicturePosition = fmPicturePositionLeftTop

TabIndex

Vrací nebo udává pozici jednoho objektu v pořadí karet formuláře.

  CommandButton1.TabIndex = 0

TabStop

Určuje, zda se může objekt stát aktivním, když na něj uživatel přejde klávesou tabelátor. Nabývá hodnot TRUE, FALSE. True - Přístup TAB je možný (výchozí nastavení). False - Při použití tabelátoru se objekt vynechá.

  CommandButton1.TabStop = False

Tag

Doplňkové informace o objektu.

  CommandButton1.Tag = "office.lasakovi.com"

TakeFocusOnClick

Určuje, zda se ovládací prvek stane po klepnutí aktivním. Nebo vrací nastevenou vlastnost.

  • True - Po kliku se tlačítko stane aktivním (výchozí nastavení).
  • False - Po kliku se tlačítko nestane aktivním.
  CommandButton1.TakeFocusOnClick = False

Top

Umístění objektu od horní okraje. Nebo zjištění jak je umístěn objekt.

  CommandButton1.Top = 12
  umistenitop = CommandButton1.Top

Visible

Nastavuje viditelnost objektu, nebo zobrazuje jaký stav má objekt. Nabývá hodnot TRUE (viditelný - výchozí nastavení), FALSE (neviditelný).

  CommandButton1.Visible = False
  CommandButton1.Visible = True

Width

Vrací šířku objektu nebo jeho výšku nastaví.

  CommandButton1.Width = 110
  Sirka = CommandButton1.Width

WordWrap

Označuje, zda se obsah ovládacího prvku automaticky zalomi na konci řádku. Nabývá hodnot:

  • TRUE
  • FALSE
  CommandButton1.WordWrap = True

Ke stažení

Hotový příklad ke stažení: Formulář CommandButton (Tlačítko) - ukázky použití soubor ve formátu *.xls

MS Excel - formuláře - CommandButton (Tlačítko)

Závěr

Popis vlastnosti objektu CommandButton (Tlačítko) máme za sebou :)

Článek byl aktualizován: 19.09.2020 11:06

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře


krikolubos

Přidáno: 29.06.12 12:43

Dobrý deň! Ako sa dá nastaviť veľkosť tlačítka comandbutton na veľkosť bunky do ktorej ho chcem umiestniť? s úctou Kríko krikolubos@gmail.com

Jan Polák

Přidáno: 05.11.12 10:21

V oddíle "(Name)" si, prosím, v odstavci "Pojmenování prvku (můžeme změnit). Ve kódech se pak budeme na tento prvek odkazovat jeho jedinečným názvem. V našem příkladě je (Name) OptionButton1." změňte poslední výraz na "CommandButton1". Díky.

Pavel Lasák

Přidáno: 05.11.12 17:46

To Jan Polák: Děkluji za info, opravil jsem.

Jan Ptáček

Přidáno: 13.03.13 14:24

Mám dotaz k převodu mezi Excel 2003 a Excel 2010. V Excel 2003 přidám na list CommandButton, ve VBA ho pojmenuji např. "Zpet" a vyberu akci pro Zpet_Click a zapíšu kód. Soubor otevřu v Excel 2010 v režimu kompatibility a vše funguje. Převedu jej funkcí do Excelu 2010 a následně tento prvek Active X přestane fungovat. V editoru VBA zjistím, že sice makro Zpet_Click zůstalo zachováno, ale ovládací prvek má defaultní jméno CommandButton1. Stačí do vlastností do Name zapsat Zpet a již vše funguje. Je něco špatně? Pokračuji dále. Takto opravený list v Excel 2010 chci otevřít v Excel 2003. Dostanu zprávu, že "Neinicializované prvky Active X nelze otevřít" a ovládací prvky jsou nefunkční, jako pouze namalované na sheetu. Kde je chyba? Děkuji

Honza

Přidáno: 14.03.14 15:49

Dobrý den, lze vybrat z Commandbutton1 až třeba Commandbutton8 podle toho indexu a pak třeba přiřadit Commandbutton5.backcolor=&H8000000A? S použitím Select je to trochu krkolomné. Děkuji

Lucia

Přidáno: 25.03.14 14:21

Dobrý deň, je možné nastaviť aby bolo tlačidlo vždy zobrazené na aktuálnom vrchu zobrazenej strany aj pri rolovaní v hárku nižšie? Teda, aby sa pri rolovaní po hárku presúvalo tak, aby bolo stále viditeľné užívateľovi? Ďakujem

Lukáš Melničák

Přidáno: 25.08.15 00:26

Dobrý den, pokud mám v jednom listě např. 10 tlačítek CommanButton. Pojmenované jsou CommandButton1 - CommandButton10. Každému tlačítku bych rád přiřadil při clicku funkci, která používá pro další výpočty právě to číslo za názvem CommandButton. Lze nějakým fíglem získat toto číslo v závislosti na tom, na které tlačítko uživatel clickne? Děkuji za odpověď lukas.melnicak@volny.cz

Jakub

Přidáno: 17.12.15 12:40

Dobrý den, dá se nějak nahradit část názvu tlačítka proměnnou? potřebuji něco jako: For i 1 To 100 ComBut(i).Caption = i Next i Aby byl výsledek stejný jako bych použil: ComBut1.Caption = "1" ComBut2.Caption = "2" ... ComBut100.Caption = "100" Což je jednak zdlouhavé a pokud potřebuji přidat nebo odebrat příkazy mezi For a Next tak bych to musel dělat vždy 100x což je veeeelmi zdlouhavé a pokud to nedělá co potřebuji, tak mě celý proces čeká znovu. Děkuji za jakoukoli radu

Jakub

Přidáno: 17.12.15 12:51

V článku by se dalo doplnit používání i pravého myšítka. Private Sub CommandButton1_MouseDown(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal x As Single, ByVal y As Single) If Button = 1 Then MsgBox "Bylo stisknuto LEVÉ myšítko." End If If Button = 2 Then MsgBox "Bylo stisknuto PRAVÉ myšítko." End If End Sub Třeba se někomu bude hodit. Pozn.: 'Button = 3' by teoreticky mohlo být kolečko myši, ale nemám odzkoušeno.

Jakub

Přidáno: 17.12.15 13:08

Jak už to u mě bývá, ve chvíli, kdy položím dotaz, naleznu řešení. For i = 1 To 100 Me.Controls("ComBut" & i).Caption = i Next i Snad někomu přijde vhod :D






Excel


Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |