Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fortschrittanzeige in For/Next Schleife?

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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige