Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel VBA: Userform

Ahoj, mám "jednoduchou" otázku, lze v userform zobrazit měnící se hodnotu z buňky ?

V sešitě je ukázkové makro které kopíruje hodnotu z buňky F1 do sloupce A na 45 000 řádků.
Jelikož tato "operace" nějakou dobu trvá, zobrazí se userform s informací o běhu makra.
V buňce C1 se zobrazuje aktuální počet vyplněných buněk a otázka tedy je, lze zobrazit tuho hodnotu přímo na userform? Buď jako odkaz na buňku nebo rovnou (bez pomocné buňky na listu).

Díky

Předmět Autor Datum
V UserForm1 máš Label1, ktorý má Caption nastavený na "Makro pracuje! ...". Túto hodnotu môžeš v mak…
los 06.08.2011 21:58
los
Jen dodám, že čím víc takových věcí bude dělat, tím déle mu makro poběží. To překreslení bude zdržov…
Jan Fiala 07.08.2011 09:29
Jan Fiala
Pánové díky Vám oběma za reakci a rady :-) poslední
Siki83 07.08.2011 10:41
Siki83

V UserForm1 máš Label1, ktorý má Caption nastavený na "Makro pracuje! ...". Túto hodnotu môžeš v makre jednoducho meniť, napr. takto:

UserForm1.Label1.Caption = pocet

Potom je potrebné Label1 prekresliť buď pomocou UserForm1.Repaint alebo cez DoEvents.

To ukážkové makro sa dá zefektívniť tak, aby trvalo menej než 0,2 sekundy. Predpokladám, že aj makro, ktoré reálne používaš, sa dá napísať efektívnejšie. Otravné okienko typu "makro pracuje" potom možno ani nebudeš potrebovať.

Jen dodám, že čím víc takových věcí bude dělat, tím déle mu makro poběží. To překreslení bude zdržovat mnohem víc než samotný běh makra. Pokud jde o 45 000 zaznamu a tím i o 45 000 zobrazení, zobrazoval bych na formuláři např. každou stou nebo tisící změnu, případně každou 45000/100 změnu, aby to bylo univerzální

Zpět do poradny Odpovědět na původní otázku Nahoru