Microsoft Excel

Herbers Excel/VBA-Archiv

Do Loop Anweisung

Betrifft: Do Loop Anweisung von: Andy
Geschrieben am: 27.08.2004 16:51:18


Hallo!
Ich habe mit meiner Do Loop Anweisung ein Problem: Sie wird bei i=0 abgebrochen.
Ziel dieser Anweisung ist es zu prüfen ob es in SPath schon eine Datei mit dem Namen SFile gibt. wenn ja soll i+1 gerechnet und sFile geändert werden. Und das solange bis es keine Datei mit dem Namen Sfile im Pfad SPath gibt. i soll dann in Zelle D1 im Blatt "ergebnis" eingetragen werden.
Ich hoffe dass meine beschreibung verständlich ist..

Dim sFile As String
Dim sPath As String
Dim i As Integer
i = 0
Do
ActiveWorkbook.Sheets("Ergebnis").Range("D1").Value = "Rev_" & i
sFile = ActiveWorkbook.Sheets("Ergebnisblatt").Range("A1").Value & "_" & Range("D1").Value
sFile = Format(sFile) & ".xls"
sPath = "o:\...\fertig" & "\"
If Dir(sPath & sFile) = "" Then
Sheets("Startseite").Select
Exit Do
End If
i = i + 1
Loop


Danke
Andy

  


Betrifft: AW: Do Loop Anweisung von: Roland Hochhäuser
Geschrieben am: 27.08.2004 17:30:46

Hallo Andy,

bei der Schleife fehlt die Abbruchbedingung (XL-Basics); m.a.W. sie weiss nicht, dass sie eine Schleife sein soll. Und das "Exit do" solltest du dir auch noch mal überlegen; so wie es da steht steigt der Code bei der ersten Datei aus, die es nicht gibt.
Gruß
Roland


  


Betrifft: AW: Do Loop Anweisung von: Andy
Geschrieben am: 27.08.2004 17:40:24

Hallo Roland!
"so wie es da steht steigt der Code bei der ersten Datei aus, die es nicht gibt"
damit hast du recht. sobald es diese datei nicht gibt soll die schleife beendet werden.
Ich hatt auch schon die vermutung, dass eine Abbruchbedingung (until oder while) fehlt.
Wollte until Dir(sPath & sFile) = "" nehmen. Aber sder inhalt von File und SPath wird ja erst in der schleife definiert.

Gruß
Andy


  


Betrifft: AW: Do Loop Anweisung von: Roland Hochhäuser
Geschrieben am: 27.08.2004 17:54:53

. . . und am Ende der Schleife wird geloopt, wo ist das Problem:
Do
... Anweisungen
Loop until Dir(sPath & sFile) = ""

Das Exit do muss trotzdem raus.
Gruß
Roland


  


Betrifft: AW: Do Loop Anweisung von: Andy
Geschrieben am: 30.08.2004 09:24:48

Hallo Roland!

Danke für die Hilfe. Das Makro funktioniert jetzt.

Gruß
Andy


  


Betrifft: Danke für die Rückmeldung o.T. von: Roland Hochhäuser
Geschrieben am: 30.08.2004 10:27:35