Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fortschrittsbalken bei Makroausführung

Fortschrittsbalken bei Makroausführung
25.01.2007 18:55:37
Peter
Hallo Excelfreunde
ich weiß das hier schon oft über den Fortschrittsbalken geschrieben wurde.
In der Recherche stehen auch viele Hinweise die ich teilweis ausprobiert habe.
Aber ich bekomme es nicht hin.
Ich möchte bei der Ausführung eines Makros einen Fortschrittsbalken angezeigt bekommen.
Da ich sehr wenig Ahnung von Vba (Makrorekorder) habe, sollte die Erklärung bitte sachte und für Anfänger erfolgen.
Der Fortschrittsbalken soll den Fortschritt bei der Ausführung des Makros von 0 bis 100% anzeigen.
Wer kann mir hier helfen.
Gruß Dieter

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 18:58:02
Gerd
Hi,
dazu muss der Makrocode bakannt sein um zusehen, ob es
überhaupt möglich ist.
mfg Gerd
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 19:03:34
Peter
Hallo Excelfreund
den Code/das Makro benötige ich um eine Berechnung in einigen Tabellen ein zuschalten.
Erstellt hat den Code fcs und den möchte ich um Eine Fortschrittsanzeige erweitern.

Sub Berechnenein()  'Erstellt Franz Sielck 2006-10-22
' Berechnenein Makro
LampenPlanungAus = False
Select Case ActiveSheet.Name
Case "Januar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"
Range("E7:AI7").Select
Selection.Copy
Range("E7").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Case "Februar"
Range("E7:AF7").Select
Selection.Copy
Range("E7").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Case Else
'do nothing
End Select
End Sub

Gruß Dieter
Anzeige
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 19:11:37
Hugo
Hallo Peter,
aber doch nicht für DIESEN Code, oder?
Wie lange kann der denn dauern?
Nimm die Select raus - dann dürfte sich das so einstampfen lassen:

Sub Berechnenein()  'Erstellt Franz Sielck 2006-10-22
' Berechnenein Makro
LampenPlanungAus = False
Select Case ActiveSheet.Name
Case "Februar": Range("E7:AF7").Value = Range("E7:AF7").Value
Case Else: Range("E7:AI7").Value = Range("E7:AI7").Value
End Select
End Sub

Gruß Hugo
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 19:29:42
Gerd
Hi,
das setzt aber voraus, dass es keine weiteren Blätter gibt.
mfg Gerd
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 19:28:33
Gerd
Hi,
wenn das der gesamte Code ist, bekommst du die Fortschrittsanzeige gar nicht mit.
Der optimierte Code brauch rund 0,001 Sekunden.

Sub Berechnenein()
LampenPlanungAus = False
Start = Timer
On Error GoTo FEHLER
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Select Case ActiveSheet.Name
Case "Januar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"
Range("E7:AI7").Copy Range("E7")
Case "Februar"
Range("E7:AF7").Copy Range("E7")
End Select
FEHLER:
With Application
.CutCopyMode = False
.EnableEvents = True
.ScreenUpdating = True
End With
MsgBox Timer - Start
End Sub

mfg Gerd
Anzeige
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 19:48:25
Peter
Hallo Excelfreunde
der Code wird im Netzwerk durchgeführt und dauert etwa 1 Minute.
Zuhause etwa 20 Sekunden.
Es wird in jeder Tabelle eine Neuberechnung durchgeführt.
Ich bin davon ausgegangen das der Fortschrittsbalken mit diesem Code gestartet werden muss.
ich denke da kommt noch einiges an Berechnung nach.
Wird dieser Code auch benötigt für das Einpflegen des Balkens.
Die ganze Datei hat eine größe von 1,9 Mb
Gruß Dieter
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 20:09:49
Gerd
Hi,
Fortschritt lässt sich nur bei Schleifen darstellen, da in diesem Code keine Schleife
vorhanden ist, kann ein Fortschritt nicht festgestellt werden.
Schalte die Berechnung noch aug manuell:

Sub Berechnenein()
LampenPlanungAus = False
Start = Timer
On Error GoTo FEHLER
With Application
.ScreenUpdating = False
.EnableEvents = False
'Neu====================================
.Calculation = xlCalculationManual
End With
Select Case ActiveSheet.Name
Case "Januar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"
Range("E7:AI7").Copy Range("E7")
Case "Februar"
Range("E7:AF7").Copy Range("E7")
End Select
FEHLER:
With Application
.CutCopyMode = False
.EnableEvents = True
.ScreenUpdating = True
'Neu=====================================
.Calculation = xlCalculationAutomatic
End With
MsgBox Timer - Start
End Sub

mfg Gerd
Anzeige
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 20:26:41
Peter
Hallo Excelfreund
@ Hugo dein Code läuft bei mir auch etwa 25 Sekunden.
@ Gerd bei deinem Code erhalte ich die Meldung "Prozedur erwartet und kein Makro"
Aber ich bin mit dem Code den ich benutze zufrieden, da alles wunderbar funktioniert.
Ich stelle hier mal die ganze Prozedur ins Forum.
Ich denke dann wird alles etwas durchsichtiger für euch/dich.
https://www.herber.de/bbs/user/39923.xls
Gruß Dieter
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 20:50:30
Gerd
Hi,
ich passe mal.
mfg Gerd
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 21:39:36
Daniel
Hallo
ich würd auch sagen, keine Chance, dazu müsstest du ja in die interne Programmierung von Excel eingreifen.
Allerdings sollte Excel doch bei automatischen Neuberechnungen in der Statuszeile anzeigen, wieviel Prozent der Zellen es bereits durchgerechnet hat.
zur beschleunigung geht nur automatische Neuberechnung ausschalten, oder falls das nicht möglich ist, die Berechnungsformeln optimieren.
Gruß, Daniel
Anzeige
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 21:59:14
Peter
Hallo Excelfreund/e
ich verstehen ja das das nicht einfach ist.
Aber ist es denn nicht möglich einfach nur während das Makro (berechnen)läuft oder ausgeführt wird, einen Fortschrittsbalken an zuzeigen.
In Form eines Balkens der sich bis auf 100% auffüllt.
(Text = Berechnung wird ausgeführt)
Gruß Dieter
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 22:46:38
Hugo
Hallo Dieter,
ohne Deine Mappe / Formeln / Berechnungen zu kennen: Keine Chance.
Einzige Lösung: Zu Beginn des Makros eine Messagebox nach dem Motto: Nicht wundern, wenn es jetzt ne Minute dauert - das ist normal. Oder eben alternativ die Statusbar mit dieser Information versehen.
Wenn Excel INTERN rechnet, dann kann man da nicht mit einem Balken dazwischengehen - geschweige denn, vorher die Berechnungsdauer ermitteln für die 100%.
Gruß Hugo
Anzeige
AW: Fortschrittsbalken bei Makroausführung
25.01.2007 22:57:56
Peter
Hallo Excelfreund
OK es ist also in dieser Art nicht möglich.
Aber kann mittels Fortschrittbalken und Prozentangabe nicht so getan werden als ob.
So nach dem Motto :
- Das Makro wird gestartet. (berechnen)
- Mit dem Makro wird die Anzeige gestartet.
(Da ich ja weis das im Netzwerk 1 Minute für die neue Berechnung benötigt wird)
Kann die Fortschrittsanzeige zB per Code auf 1 Minute eingestellt werden.
- Nach Ablauf der Fortschrittsanzeige ist die Berchnung dann ja auch fertig.
Gruß Dieter
Nein, nein, nein
25.01.2007 23:07:21
Hugo
Hallo Dieter,
das geht einfach nicht. Man kann in eine laufende interne Berechnung nicht eingreifen, um einen Fortschrittsbalken wachsen zu lassen. Und selbst, wenn es irgendwie ginge, dann dauert Deine Berechnung doppelt und dreifach so lang.
Sorry, aber vergiss es.
Gruß Hugo
Anzeige
AW: Nein, nein, nein
25.01.2007 23:14:34
Rudi
Hallo,
entschuldige, wenn ich mich auch noch reinhänge.
Ich kann mich Hugo nur anschließen. Der Performanceverlust für die Aktualisierng des Balkens ist einfach zu groß. Vergiss es.
Gruß
Rudi
OK Verstanden
25.01.2007 23:21:59
Peter
Hallo Excelfreunde
danke für euer Interesse und die beiträge.
es ist zwar schade, aber OK.
Gruß Dieter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige