hi!
have you tried putting
Doevents
In several parts of your code?
This will update your userform.
example
sub macro1()
for i=1 to 100000
for j=1 to 10000
for k=1 to 100
z=k*rnd()
next k
doevents
next j
next i
With out the doevents your exel will look like hanging up.
but wiht that line, it will be updated.