Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Fortschrittanzeige in For/Next Schleife?
09.11.2004 08:06:58
Oliver
Einen guten Morgen an alle.
Ich brauch wieder mal Eure Lösungsvorschläge. Ich habe ein Makro welches mir Daten in Textdateien schreibet. Es wird jede Zeile in eine Textdatei geschrieben. Da es sich dabei um ca. 1000 Zeilen handelt und je nach Rechnerleistung das etwas dauern kann, hätte ich gerne eine Fortschrittanzeige. Dazu habe ich in der Recherche ja auch einiges gefunden. Nur kann ich das leider nicht in die Realität umsetzen. Nachfolgend erst einmal das Makro:
Sub Daten_Export()
Dim Wiederholungen As Long, Dateipfad As Integer, Dateiname As String, _
Zeile As Long
Zeile = Cells(Rows.Count, 1).End(xlUp).Row
Dateipfad = FreeFile
For Wiederholungen = 2 To Zeile
Dateiname = Format(Wiederholungen - 2, "00000000") & ".txt"
Open "C:\Test\" & Dateiname For Output As #Dateipfad
Print #Dateipfad, Cells(Wiederholungen, 1) & "," & "," & "," & "," & _
Cells(Wiederholungen, 5)
Close #Dateipfad
Next
End Sub
Nun habe ich in der Recherche dieses Makro für eine Fortschrittanzeige gefunden:
Sub FortschrittanzeigeBar(PctDone As Single)
With Fortschrittanzeige
.lblDone.Width = PctDone * (.lblRemain.Width - 2)
.lblPct.Caption = Format(PctDone, "0%")
End With
DoEvents
End Sub
In der UserForm, die den Verlauf anzeigen soll steht dann folgnedes:

Private Sub UserForm_Initialize()
With Me.lblDone ' set the "progress bar" to it's initial length
.Top = Me.lblRemain.Top + 1
.Left = Me.lblRemain.Left + 1
.Height = Me.lblRemain.Height - 2
.Width = 0
End With
End Sub

In das obige Makro, also das welches die Daten exportiert, müssten dann folgende Befehle integriert werden:
Fortschrittanzeige.Caption = "Vorgang läuft ...."

FortschrittanzeigeBar 0.1
.
.
.
FortschrittanzeigeBar 1
Nun ist mein Problem, das ich
1. nicht weiß, wie man so etwas in einer For/Next Schleife realisiert und
2. soll bei der Anweisung FortschrittanzeigeBar xx nicht in 0,1er Schritten gezählt werden, sondern in 0,001er Schritten.
Ich hoffe, ich habe alle notwendigen Infos gegeben. Kann mir da jemand helfend unter die Arme greifen? Ich hoffe doch.
Danke Euch schon mal im Voraus für die Lösungsvorschläge,
Oliver

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Habe es allein hinbekommen. Lösung hier im Beitrag
Oliver
Hi,
die Anfrage hat sich erledigt. Ich habe es alleine hinbekommen. Für alle die es interessiert, hier das Makro:

Sub Daten_Export()
Dim Wiederholungen As Long, Dateipfad As Integer, Dateinummer As String, _
Zeile As Long
Zeile = Cells(Rows.Count, 1).End(xlUp).Row
Fortschrittanzeige.Caption = "Vorgang läuft ...."
Range("AA1").ClearContents
Dateinummer = FreeFile
Application.DisplayStatusBar = True
For Wiederholungen = 1 To Zeile
Range("AA1") = Range("AA1") + 0.001
FortschrittanzeigeBar Range("AA1")
Dateiname = Format(Wiederholungen - 1, "00000000") & ".txt"
Open "\\Sekretariat\sekretariatc\LSB\Ablesung\Derago\" & Dateiname For Output As #Dateinummer
Print #Dateinummer, Cells(Wiederholungen, 2) & "," & "," & "," & "," & _
Cells(Wiederholungen, 8)
Close #Dateinummer
Next
Unload Fortschrittanzeige
End Sub

Das einzig unschöne ist, dass ich die Werte für die Fortschrittanzeige in eine Zelle (Zelle AA1) schreiben muss, da ich nicht weiß, wenn ich den Wert in eine Variable schreiben würde, welchem Typ diese Variable entsprechen muss. Aber es funktioniert und das ist die Hauptsache.
Gruß,
Oliver
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige