Fortschrittanzeige beim speichern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Fortschrittanzeige beim speichern
von: Hans-Georg
Geschrieben am: 18.04.2005 21:20:00
Hallo Excellisten,
ich habe in der Recherce nachgesehen, aber nichts brauchbares gefunden.
Meine Tabelle (ca. 10 MB) braucht zum speichern immer recht lange (ca. 20 Sek.) daher möchte ich eine Messagebox einblenden lassen, die den Speicherverlauf anzeigt. Wie kann ich das realisieren ??
Vielen Dank für Eure Hilfe
Hans-Georg

Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Horst
Geschrieben am: 18.04.2005 21:25:15
Hi,
blende die Statusleiste ein, dort wird der Fortschritt angezeigt.
mfg Horst
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Hans-Georg
Geschrieben am: 18.04.2005 21:31:37
Hallo Horst,
die Statusleiste sowie alle Symbolleisten, werden per Makro in der Tabelle ausgeblendet.
Wenn die Antwort so einfach wäre, würde ich hier nicht fragen !
MfG
Hans-Georg
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Florian
Geschrieben am: 18.04.2005 21:54:35
Hallo,
mit einer Messagebox geht nicht, weil die modal angezeigt wird. Nichtmodale Userform geht
vielleicht, einfach mal probieren.
Gruß Florian
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Hans-Georg
Geschrieben am: 18.04.2005 22:09:25
Hallo Florian,
leider kann ich mit Deiner Aussage nichts anfangen, da ich VBA nur mit Macrorecorder kann. Auch den Unterschied zwischen Messagebox und Nichtmodale Userform kenne ich nicht !
Trotzdem vielen Dank für den ersten Hinweis !
Hans-Georg
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Florian
Geschrieben am: 18.04.2005 22:15:46
Hallo,
wenn du die Statusleiste mit Makro ausblenden kannst, dann kannst du sie vor dem Speichern doch sicher auch zeitweilig einblenden.
Gruß Florian
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Hans-Georg
Geschrieben am: 18.04.2005 22:26:20
Hallo Florian,
sicher ist das per Macro wohl möglich die Statusleiste kurz einzublenden und nach dem Speichern wieder auszublenden aber das ist ja nicht meine Frage. Ich wollte, schön groß auf dem Bildschirm eine Statusanzeige die den Speicherfortschritt anzeigt, damit auch der dümmste Mittarbeiter weiß " JETZT WIRD GESPEICHERT, NIX MACHEN "
Wenn das aber eine solch schwere Geburt wird, dann lass ich wohl die Finger davon !
Gruß
Hans-Georg
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Florian
Geschrieben am: 18.04.2005 22:53:53
Hallo,
während gespeichert wird, kann der Benutzer ohnehin nichts anderes machen.
Gruß Florian
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Hans
Geschrieben am: 18.04.2005 23:33:56
Hallo Hans-Georg,
ich kann dir zwar nicht helfen aber möchte dich unterstützen. Wenn man sehen kann welchen Fortschritt die Speicherung macht wird das vom Anwender akzeptiert. Wie bei der Bild-Zeitung, viele bunte und große Bilder machen glücklich ;-)
Gruß Hans
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Nepumuk
Geschrieben am: 19.04.2005 05:30:48
Hi,
das geht nicht. Wärend des Speichervorgangs kann kein Makro laufen. Und wenn doch, woher sollte das wissen, wiviel von der Datei schon auch die Platte geschrieben wurde?
Gruß
Nepumuk
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: GeorgK
Geschrieben am: 19.04.2005 05:02:17
Hallo,
schau mal, ob Du das anpassen kannst:

Sub balken()
Range("B12") = ""
Range("G3").Select
zähler = 0 ' Variable initialisieren.
While zähler < 10000 ' Zähler überprüfen.
zähler = zähler + 1 ' Zähler hochzählen.
Range("a1") = zähler
Wend
Range("B8").Select
With Selection.Interior
.ColorIndex = 49
.Pattern = xlSolid
End With
Range("G3").Select
zähler = 0 ' Variable initialisieren.
While zähler < 10000 ' Zähler überprüfen.
zähler = zähler + 1 ' Zähler hochzählen.
Range("a1") = zähler
Wend
Range("C8").Select
With Selection.Interior
.ColorIndex = 49
.Pattern = xlSolid
End With
Range("G3").Select
zähler = 0 ' Variable initialisieren.
While zähler < 10000 ' Zähler überprüfen.
zähler = zähler + 1 ' Zähler hochzählen.
Range("a1") = zähler
Wend
Range("D8").Select
With Selection.Interior
.ColorIndex = 49
.Pattern = xlSolid
End With
Range("G3").Select
zähler = 0 ' Variable initialisieren.
While zähler < 10000 ' Zähler überprüfen.
zähler = zähler + 1 ' Zähler hochzählen.
Range("a1") = zähler
Wend
Range("E8").Select
With Selection.Interior
.ColorIndex = 49
.Pattern = xlSolid
End With
Range("G3").Select
zähler = 0 ' Variable initialisieren.
While zähler < 10000 ' Zähler überprüfen.
zähler = zähler + 1 ' Zähler hochzählen.
Range("a1") = zähler
Wend
Range("B8:E8").Select
Selection.Interior.ColorIndex = 15
Range("B12") = "fertig"
Range("G3").Select
End Sub

Grüße
GeorgK
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Tom
Geschrieben am: 19.04.2005 07:37:49
Hallo,
wenn dir nur ein Hinweis für die Zeit des speicherns genügt, dann schau dir mal die Beispieldatei an.
Neben einer UserForm, die du erstellen musst, füge noch diesen Code unter DieseArbeitsmappe ein:
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
UserForm1.Show vbModeless
DoEvents
Unload UserForm1
End Sub

In der Beispieldatei verschwindet das Fenster natürlich sofort wieder, da diese vom Volumen zu klein ist. Baue es mal in deine Datei mit ein.
https://www.herber.de/bbs/user/21335.xls
MfG
Bild

Betrifft: AW: Fortschrittanzeige beim speichern
von: Hans-Georg
Geschrieben am: 19.04.2005 13:01:13
Jo, genau sowas hatte ich gesucht !
Vielen Dank !
Hans-Georg
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fortschrittanzeige beim speichern"