image/svg+xml

» Poradna » Programy

Vba excel checkbox s měsíci

 |   |  Microsoft Windows 10 IE 11.0

Dobrý den, prosím o radu, jak vyřešit následující problém. Mám v excelu ve vba vytvořený vlastní formulář a v něm je 12 checkboxů, každý reprezentuje jeden měsíc v roce (leden až prosinec). Předpoklad je ten, že uživatel vybere libovolné množství a libovolné měsíce. Já potřebuji, aby se mi pak v buňce v excelu vypsaly tyto vybrané měsíce do buňky čísly oddělené čárkou, tedy když zaškrtne leden, duben, červenec, v buňce pak bude 1,4,7. Zároveň se pak tyto čísla použijí ve vzorci ve vedlejší buňce. Napadá někoho, jak toto vyřešit? Zkoušel jsem metodu kontroly, jestli je checkbox zaškrtnutý pomocí cyklu, ale došel jsem k závěru, že cyklus ve vba nejspíš neumí pracovat s názvy nebo obecně s písmeny doplněnými o číslo posloupnosti. Děkuji za pomoc.

Odpovědi na otázku

 |   |  Microsoft Windows 10 Firefox 60.0

Na to je nejlepší použít objektový přístup.Naznačím:1. Založíš si Class Modul, nazveš jej např. ClsCheckBox. Bude obsahovat tenhle kód:Option ExplicitPublic WithEvents ChbForm As MSForms.CheckBoxPrivate Sub ChbForm_Click()<obsluha kliknutí na checkboxy - jméno kliknutého checkboxu: ChbFrm.Name>End Sub2. Do kódu formuláře napíšeš:Option ExplicitDim aChbFrm(1 to 12) As ClsCheckBox ' Pole checkboxůPrivate Sub UserForm_Initialize()' Uložení checkboxů do pole pro jednotnou obsluhu kliknutíSet aChbFrm(1) = New Cls_CheckBoxSet aChbFrm(1).ChbFrm = Me.Controls("<název_CheckBoxu>")... <postupuješ dále pro další checkboxy, případně uděláš cyklus>No a to je vše. Samozřejmě musíš napsat tu obsluhu kliknutí, ale to už jistě zvládneš Nějaký příklad: http://yoursumbuddy.com/userform-event-handler-cl...

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 10 IE 11.0

Tak popravdě úplně jsem na tomto ztroskotal. Chtěl bych poprosit o trošku podrobnější postup, protože tady se nechytám.Předně není mi jasné, jak zpracovat Class Modul. Jak by měla vypadat ta obsluha checkboxů? Nepřišel jsem na to, jak k checkboxu přiřadit hodnotu, kterou potom vypíše v excelu. Každý checkbox má být ve vlastní "Public property"?Když budu mít zpracovaný Class Modul, jakým způsobem ho pak zavolám? Chci, aby se vše provedlo až po stisku tlačítka OK ve formuláři - tedy ve formuláři vyplním hodnoty, zaškrtnu měsíce, stisknu OK a v excelu se vypíšou hodnoty.

Souhlasím  |  Nesouhlasím
avatar
 | Microsoft Windows 10 IE 11.0

udelej si group frame, do ni checkboxes s rozumnymi nazvy (Jan = chk_01) … a pak uz je to easy:Private Sub frmMonths_DblClick(ByVal Cancel As MSForms.ReturnBoolean)Dim tmpS As StringtmpS = "" For Each c In frmMonths.Controls If c.Value Then tmpS = tmpS & Right(c.Name, 2) & "," Next Range("Result").Value = tmpSEnd SubMP

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 10 IE 11.0

No je to trochu vyšší dívčí pro mě, co mi tu popisujete, ale zkusím to. Až si nebudu vědět rady, jak dál, opět se ozvu prozatím díky

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Firefox 56.0

No jo, vymyslel sis složité zadání a tak si nevystačíš s násobilkou ze třetí třídy.

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Firefox 56.0

Příklad s použitím hodnoty TabIndexhttp://leteckaposta.cz/288160602

Souhlasím  |  Nesouhlasím

Související témata: Leden, Libovolné množství, Prosinec, Duben, Červenec, Předpoklad


Určitě si přečtěte

Google Coral: Raspberry Pi s čipem, který zpracuje 4 biliony operací za sekundu

Google Coral: Raspberry Pi s čipem, který zpracuje 4 biliony operací za sekundu

** Je to velké jako Raspberry Pi ** Ale je to až o několik řádů rychlejší ** Dorazil nám exotický Google Coral s akcelerátorem Edge TPU

Jakub Čížek | 18

10 novinek Androidu 10, které vás budou bavit

10 novinek Androidu 10, které vás budou bavit

Jan Láska, Vladislav Kluska | 26

Windows 10 po čtyřech letech: Jsou populární, ale stále je to šílený kočkopes

Windows 10 po čtyřech letech: Jsou populární, ale stále je to šílený kočkopes

** Windows 10 tu jsou už čtyři roky, první verze dorazila 29. 7. 2015 ** Desítky měly nahradit neúspěšnou řadu Windows 8.x ** I po letech však systém budí emoce a zůstává kočkopsem

Jakub Čížek | 111

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 6

Windows 10 podle našich čtenářů: Poslali jste nám skoro 300 nápadů, jak je vylepšit

Windows 10 podle našich čtenářů: Poslali jste nám skoro 300 nápadů, jak je vylepšit

** Microsoft aktualizuje Windows 10 dvakrát ročně ** Jenže praktických novinek už není tolik jako dříve ** Poslali jste nám skoro 300 tipů, co by se měly Desítky ještě naučit

Jakub Čížek | 138



Aktuální číslo časopisu Computer

Speciál o přechodu na DVB-T2

Velký test herních myší

Super fotky i z levného mobilu

Jak snadno upravit PDF