Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

UserForm als Fortschrittsanzeige

Gruppe

UserForm

Problem

Wie kann ich eine UserForm als Fortschrittsanzeige einsetzen?

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

ClassModule: frmProgress

Private Sub cmdStart_Click()
   Dim dRow As Double
   Application.ScreenUpdating = False
   Me.Caption = "Bitte warten..."
   For dRow = 1 To 10000
      If dRow Mod 10 = 0 Then
         lblProgress.Width = 222 * (dRow / 10000)
         fmeProgress.Caption = Format(dRow / 10000, "0%")
         DoEvents
      End If
      Cells(dRow, 1) = "Zeile " & dRow
   Next dRow
   Cells.ClearContents
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   With lblProgress
      .Width = 0
      .Left = lblBackGround.Left
      .Top = lblBackGround.Top
   End With
End Sub

StandardModule: basMain

Sub CallForm()
   frmProgress.Show
End Sub