< návrat zpět

MS Excel


Téma: UserForm rss

Zaslal/a 9.6.2015 11:09

zdravím,

potřebuju poradit.
nevím jak mám udělat to ,že když probíhá nějaké macro tak bude na obrazovce formulář který bude vypisovat probíhá... hotovo x %
samozřejmě hodnota x je proměnná
co mam použít aby se do toho formuláře zapisovala ta proměnná a ne pouze statický text

př. u msgBox takhle
MsgBox "Probíhá... hotovo: " & x
ale tady musím po každém cyklu kliknout na ok a to nechci.

Zaslat odpověď >

#025394
avatar
v userfotme si spravte textbox a potom len zobrazite userform a v cykle date menenie textboxu

TextBox1 "Probíhá... hotovo: " & x

ale radsej by som to zapisoval do StatusBar-u

viac navod:
https://msdn.microsoft.com/en-us/library/office/ff835916.aspxcitovat
#025399
avatar
díky. vyřešeno pomocí statusBaru :-)citovat
#025402
elninoslov
Tu sú obe riešenia, máte to už hotové, ale aj tak to sem dávam preto, lebo som narazil na zaujímavý problém. V popise makra to je opísané.
Ak vynásobím 1000*1000 dostanem OverFlow, tak si na to dajte pozor, ak budete podobným spôsobom vypočítavať priebeh.
Příloha: rar25402_priebeh.rar (14kB, staženo 21x)
citovat
icon #025407
eLCHa

elninoslov napsal/a:

Ak vynásobím 1000*1000 dostanem OverFlow

Což snad i dává smysl, protože násobíte dvě čísla, která jsou typu integer. Ani s tím Vaším & by to správně projít nemělo, ale to už by nebyl VB aby to jednou šlo a jednou ne ;) .
Typový znak pro double je # a tak by jste měl mítspolu= 1000# * 1000 (stačí u jednoho) Já mám radši text, tam si nemusím pamatovat, co to znamená, takže bych měl spolu = CDbl(1000) * 1000
Otázkou je, proč používáte Double (8b), když na první pohled počítáte s celými čísly a zcela jistě si vystačíte s long(4b).

Typové znaky pro VB (u VBA si Decimal přeložte jako Currency):
https://msdn.microsoft.com/en-us/library/s9cz43ek.aspxcitovat
#025414
elninoslov
Už mi to docvaklo. Spomenul som si na podobný problém, spomenutý tu na fóre, pri Step -1 v cykle.
CDbl som tam mal, ale pri skúšaní všemožných typov asi v nesprávnej kombinácii s typom výsledku. To je vlastne aj dôvod prečo tam ostalo Double = náhodou.
Niekedy stačí namiesto bezhlavého skúšania, sa zastaviť, porozmýšľať, a možno niečo cvakne.
Na tom by ale ešte mohli aj súdruhovia z MS zapracovať, že ak ľavá strana priradenia je napr. Long, tak bude s číslami na pravej strane pracovať ako s Long, aj keď sú tieto čísla menšie. No ale čo už. Ďakujem opäť za ozrejmenie.citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje