ProgressBar
04.10.2004 18:45:54
Torsten
ich habe unten mal den Code gepostet den ich von Matthias R. gefunden habe. Der funktioniert super und stellt eine selbstgebastelte ProgressBar dar.
Ich nutze die ProgressBar um Blätter zu kopieren. Leider flackert ja der Bildschirm und die ProgressBar ist auch nur schlecht sichtbar. Mit ScreenUpdating = False sehe ich die ProgressivBar nicht mehr. Was kann ich tun um im Hintergrund Sheets zu kopieren und die Progressivbar doch deutlich sehen?
Danke im Voraus,
Torsten
Ma nehme...(diesmal nicht Dr. Oetker)
eine Userform die 2 Rahmen enthält:
den ersten so breit machen wie die Progressbar breit sein soll (Name:PB100).
den zweiten darauflegen, aber nur eine beliebige geringe Breite, und ein
Backgroundfarbe verpassen.(Name: PBx)
Also etwa so:
-----------------
||||____________|
Der einzige Code in der UserForm:
Private Sub UserForm_Activate()
Call startLangesMakro
Unload Me
End Sub
In ein Modul kommt der Rest:
Option Explicit
Dim mfStep As Double
Sub HierGehtsLos()
'anstatt startLangesMakro direkt aufzurufen, Umweg über Userform
frmPB.Show
DoEvents
End Sub
Sub startLangesMakro()
Dim i As Integer
Call initPB(2000)
For i = 1 To 2000
Sheets(1).Range("a1") = i
Call refreshPB
Next
End Sub
Sub initPB(lTotalSteps As Long)
With frmPB
.PBx.Width = 0 'zurücksetzen
mfStep = .PB100.Width / lTotalSteps 'Schrittbreite pro Aktualisierung
End With
End Sub
Sub refreshPB()
frmPB.PBx.Width = frmPB.PBx.Width + mfStep
DoEvents
End Sub