< 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

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32