Verwenden einer Fortschrittsanzeige in Makros (Microsoft Excel)
Die mit Excel bereitgestellte Makrosprache (VBA) ist sehr leistungsfähig. Dies bedeutet, dass Sie einige ziemlich intensive (und beeindruckende) Aufgaben mit der Sprache erledigen können. Einige Aufgaben können einige Zeit in Anspruch nehmen. Das Problem ist, dass einige Benutzer glauben, ihr Computer sei hängen geblieben, es sei denn, auf dem Bildschirm wird angezeigt, dass das Makro ausgeführt wird.
Es gibt zwei Möglichkeiten, wie Sie eine Lösung für eine solche Aufgabe finden können. Die erste (und einfachste) Option besteht darin, die Statusleiste zu verwenden, um den Fortschritt Ihres Makros anzuzeigen. Sie können Ihrem Makro beispielsweise Code hinzufügen, anhand dessen der Fertigstellungsgrad bestimmt wird. Sobald Sie einen Prozentsatz zur Hand haben (sagen wir, er ist in der Variablen xPctComp gespeichert), fügen Sie Ihrem Makro einfach die folgende Zeile hinzu:
Application.StatusBar = "Portion completed: " & _ Format(xPctComp, "##0.00%")
Eine solche Zeile kann im Hauptteil Ihres Makros hinzugefügt werden, beispielsweise in einer Schleife, die die Verarbeitung steuert. Wenn das Makro fast fertig ist, sollten Sie eine Zeile hinzufügen, die die Statusleiste löscht, z. B. die folgende:
Application.StatusBar = ""
Die andere Möglichkeit, eine Fortschrittsanzeige zu erstellen, besteht darin, ein Dialogfeld zu verwenden, in dem eine Anzeige „Kraftstoffanzeige“ für den Prozentsatz der Fertigstellung angezeigt wird. Es gibt bereits zahlreiche Implementierungen eines solchen Konzepts im Web. Ein guter Vertreter dieses Ansatzes ist bei John Walkenbach zu finden:
http://www.j-walk.com/ss/excel/tips/tip34.htm
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2496) gilt für Microsoft Excel 97, 2000, 2002 und 2003.