< návrat zpět

MS Excel


Téma: Události komponent hromadně rss

Zaslal/a 6.10.2020 11:03

Ahoj,
potřeboval bych poradit s událostmi komponent...

Mám na formuláři několik komponent ListBox pojmenované stejně jen na konci je jiné číslo ( lbIngredience1, lbIngredience2, lbIngredience3,...lbIngredience20)

U jednotlivých komponent potřebuji použít událost např. Change() s tím, že každá událost bude obsahovat stejný zdrojový kód.
Dá se to udělat nějak efektivněji (hromadně) než vytvářet u všech prvků stejnou Proceduru?

Private Sub lbIngredience1_Change()
KusStejnehoKodu
End Sub

Private Sub lbIngredience2_Change()
KusStejnehoKodu
End Sub
.
.
.
Private Sub lbIngredience20_Change()
KusStejnehoKodu
End Sub

Za radu předem děkuji

Roman

Zaslat odpověď >

#048240
avatar
Dá.
Pomocou modulu triedycitovat
#048241
avatar
princíp napr:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=85citovat
#048242
avatar
Potom pre ich rozlíšenie použiješ nejakú jednoznačnú vlastnosť použitého prvku, ktorú ti vráti spoločný kódcitovat
#048244
avatar
Iná ukážka:

https://www.engram9.info/excel-2003-vba/handling-multiple-userform-buttons-with-one-event-handler.htmlcitovat
#048245
avatar
Len neviem, či som to dobre pochopil a neskomplikoval, lebo to, čo chceš sa dá aj tak, že proste každá udalosť change bude volať to isté makro, ktoré bude zapísané vo všeobecnom module... Teda, nemusí byť kód písaný x-krát pre každé tlačidlo. Ale bude x-krát odkaz na jednu spoločnú procedúru vo všeobecnom module.
Moje skoršie odpovede riešili to, že sa urobila kolekcia ovládacích prvkov a modul triedy ustriehne to, že bolo stlačené niektoré z tlačidiel kolekcie. Čiže nie je potrebné ošetrovať každé tlačidlo na udalosť change (click a pod)citovat
#048246
avatar
Děkuju za rady,

je to přesně to, co potřebuju.
1citovat
#048254
avatar
Narazil jsem na potíž dostat do třídy události Enter a Exit, které jsou u prvků poděděny z MSForms.Control, ale pokud přidáte konkrétní prvek třeba Textbox či Combobox, tak se již událost nelze do třídy přidat. Nevíte někdo, lze-li nějak řešit?citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Zaokrouhlování

JoKe • 14.6. 15:19

Zaokrouhlování

Mirek-Kraus • 14.6. 13:52

excell uprava riadku vzorca

veny • 14.6. 7:52

excell uprava riadku vzorca

orangezradca • 13.6. 20:37

pomala tlac s exelu

jano5 • 12.6. 9:44

GRAF teploty

JoKe • 12.6. 9:22

Filtrování dat

Imh0tep • 12.6. 8:35