< návrat zpět
MS Excel
Téma: progress bar
Zaslal/a amater159 29.4.2011 10:50
Ahojte,
som uplny zaciatocnik. Mam jednoduche makro v exceli, ktore postupne v prvom stlpci do riadku i vypisuje jeho cislo riadku. Potrebovala by som do takehoto jednoducheho programu zahrnut progressbar, pri/v ktorom sa bude zaroven aj ukazovat cas zostavajuci do konca. Prebrowsovala som hadam vsetky stranky na nete tykajuce sa progressbarov, ale nebola som schopna pouzit ani jeden kod a implementovat ho na moju ulohu. Prosim vas vedeli by ste mi niekto poradit?
sub cisla()
dim i,j
j=1
for i=1 to 250000
cells(i,1).value=j
j=j+1
next i
end sub
Za vsetky odpovede vam vopred velmi pekne dakujem.
PS: Ide o to, ze mam kus komplikovanejsi program v praci do ktoreho by som ten progressbar potom zahrnula. Makro v praci kopiruje rozne vzorce, doplna hodnoty, doplna udaje na zaklade obsahov inych buniek atd... Neviem sice ako progressbar funguje, ale bolo by fajn, keby si ten kod k progressbaru vedel zistit ako dlho bude program doplnania udajov bezat a podla toho vypisoval cas/percenta...atd.
Este raz vdaka
Poki(29.4.2011 11:16)#004828 Nemam moc rad ProgressBar, protoze musis vytvorit UserForm a obnovovat ho, coz zpomaluje.
Pokud to nemusi byt nijak graficky uzasny, tak by mohla stacit informace o procentech ve StatusBaru.
Procenta jsou jednoduchy, ale zbyvajici cas, to by byl asi trosku orisek a musim priznat, ze takhle narychlo nevim...
Sub cisla()
Dim i, j, M
j = 1
M = 20000
For i = 1 To M
Cells(i, 1).Value = j
j = j + 1
Application.StatusBar = "No makám, no ... " & CInt((i / M) * 100) & " %"
Next i
Application.StatusBar = False
End Subcitovat
amater159(29.4.2011 11:19)#004829 Ahoj Poki,
velmi pekne dakujem za odpoved. Percenta mi uplne stacia. To je super. Mne v podstate stacila akakolvek informacia o prebiehajucom stave doplnania udajom. Dakujem
citovat
Roman(29.4.2011 15:13)#004833 Souhlasím s Pokim pouze nemám rád, když to moc bliká tak měním statusBar při významných událostech nebo jen občas např. v tomto případě
If (i Mod 1000) = 0 Then Application.StatusBar = "No makám, no ... " & CInt((i / M) * 100) & " %"
citovat