hi
i understand what you're doing. using a form as a progress meter. unique way
too. i never thought of doing it that way. i assume your update through a
linked cell.
but the problem is updating the form ie see the info there. did you try
DoEvents?
i did a form(personal msgbox) that was suppose to change color 3 time and
display a differnt message each time. screenupdate was never turned off and i
still had problems but DoEvents did the trick. your form is probably changing
much faster than mine.
another thing you may want to consider is use of the status bar as a
progress meter. i've had considerable luck with that.
see this site
http://www.cpearson.com/excel/StatusBar.htm
also here is some sample code i did using the status bar. it's do nothing
code.
in a blank worksheet, put 10000 numbers down column A. paste this code in a
standard module to see how it work. the numbers were changeing so fast the
first run, i added an if clause to only up date the status bar every 100
numbers.
Sub usestatusbar()
Dim cnt As Long 'SB
Dim rng As Range 'SB
Dim lrng As Range 'SB
Dim rcnt As Long 'SB
cnt = 0
cnt10 = 0
'find and count records in range
Set rng = Cells(65536, 1).End(xlUp) 'SB
Set lrng = Range(rng, rng.End(xlUp)) 'SB
rcnt = lrng.Rows.Count 'SB
Application.StatusBar = rcnt & " Records"
'events to measure progress
For Each cell In lrng
cell.Offset(0, 1).Value = "hi" 'dummy duty
cell.Offset(0, 1).Interior.ColorIndex = 40 'dummy duty
cnt = cnt + 1 'SB
cnt10 = cnt10 + 1
'update status bar
If cnt10 = 100 Then
cnt10 = 0
Application.StatusBar = cnt & " of " & rcnt
End If
Next cell
MsgBox "Done!"
Application.StatusBar = False
End Sub
regards
FSt1