Re: Fortschrittanzeige in Makro
04.12.2002 16:02:52
Hajo_Zi
Hllo Mikewir können Dir auch nur was vorschlagen, wenn Du Deinen Code nicht ins Forum stellts.
Du mußt bedenken nicht jeder hat Hans seine CD und ich Vermute mal da gibts es auch mehere Beispiele.
Meiner Meinung nach macht es sich gut, über eine Userform.
Fortschrittanzeige
Erstelle eine UserForm MIt einem Label gebe ihm den Namen LBL_Blau, Caption=""; Backcolor Schaltflächentext blau, die Höhe so hoch wie der Laufbalkensein sein die Breite ist Egal.
Ordne ein CommandButton auf der Userform an Gestaltung nach Deinen Wünschen folgenden Code in der Userform
Option Explicit
Private Sub CommandButton1_Click()
Dim rng As Range
Dim Faktor As Single
Dim Letzte As Long
ActiveSheet.Unprotect Password:="sokrates"
' Anzahl der Zellen erMIitteln
Letzte = ActiveSheet.Cells.SpecialCells(xlLastCell).Row * ActiveSheet.Cells.SpecialCells(xlLastCell).Column
' Maximale größe des Label auf der Useform 280
Faktor = 280 / Letzte: LBL_Blau.Width = 0
' UsedRange = benuzter bereich
For Each rng In ActiveSheet.UsedRange
LBL_Blau.Width = LBL_Blau.Width + Faktor: DoEvents
If rng.Locked = False Then rng.Value = ""
Next rng
ActiveSheet.Unprotect Password:="sokrates"
Range("B6").Value = ""
ActiveSheet.Protect Password:="sokrates", DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("B17").Activate
UserForm1.Hide
End Sub
Private Sub UserForm_Initialize()
LBL_Blau.Width = 0
End Sub
und folgenden Code in ein Modul
Sub ClearUnlockedCells()
UserForm1.Show
End Sub
Gruß Hajo