Macrolaufzeit per Balken o.ä. anzeigen möglich?
31.10.2003 11:50:58
Fritz
ich lasse ein Macro (dank an Martin Bolleter) laufen welches derzeit ca. 3 Minuten läuft. Mit steigender Datenzahl wird sich sicher auch die Laufzeit erhöhen.
Gibt es eine Möglichkeit die Laufzeit per Balken, Uhr, Kreis o.ä. anzeigen zu lassen?
Ich habe zwar etwas bei Hajo_zi gefunden, aber damit komme ich nicht klar weil dort das Macro über USerform gestartet wird. Mein Macro hat aber keine Userforms.
Hier das Macro:
Sub Vergleich()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet
Dim iZeile As Long, Zelle As Range, LetzteZeile As Long, Tage%
Dim N%, i%, Ausg()
Application.ScreenUpdating = False
Set WS1 = Worksheets("Berechnung")
Set WS2 = Worksheets("Eingang")
Set WS3 = Worksheets("Ausgang")
N = WS3.Range("L65536").End(xlUp).Row - 2
ReDim Ausg(1 To N, 1 To 2)
For i = 1 To N
Ausg(i, 1) = WS3.Cells(i + 2, 12) 'Lagereinheit
Ausg(i, 2) = WS3.Cells(i + 2, 25) 'Datum
Next i
WS1.Range("A2:E65536").ClearContents
For iZeile = 3 To WS2.Range("Q65536").End(xlUp).Row
For i = 1 To N
If Ausg(i, 1) = WS2.Cells(iZeile, 17) Then
Tage = Ausg(i, 2) - WS2.Cells(iZeile, 25) + 1
If Tage > 0 Then Exit For
End If
Next i
LetzteZeile = WS1.Range("A65536").End(xlUp).Row + 1
If i > N Then
WS1.Cells(LetzteZeile, 1) = WS2.Cells(iZeile, 17)
WS1.Cells(LetzteZeile, 2) = "Noch kein Ausgang"
Else
WS1.Cells(LetzteZeile, 1) = Ausg(i, 1)
WS1.Cells(LetzteZeile, 2) = Tage
Ausg(i, 2) = DateSerial(2000, 1, 1)
End If
WS1.Cells(LetzteZeile, 3) = WS2.Cells(iZeile, 6)
WS1.Cells(LetzteZeile, 4) = WS2.Cells(iZeile, 7)
WS1.Cells(LetzteZeile, 5) = WS2.Cells(iZeile, 25)
Next iZeile
Application.ScreenUpdating = True
End Sub
Gruß und Danke
Fritz