Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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
Inhaltsverzeichnis

Prüfung auf leeren Ordner

Prüfung auf leeren Ordner
02.04.2020 10:25:33
Peter
Hallo zusammen,
folgender Code-Schnipsel ist Teil einer Schleife.
Ich möchte hierbei bei dem fett markierten Teil prüfen ob der Ordner vorhanden ist und, falls nicht zum nächsten Teil der Schleife überspringen.
Leider funktioniert das nicht wie gewünscht. Kann mir jmd den (hoffentlich) offensichtlichen Fehler zeigen?
VG und besten Dank
For i = 1 To x
With Worksheets("Quelle")
a = .Cells(1, x).CurrentRegion.Rows.Count
For b = 1 To a
DokumenteSource = (Sheets("Quelle").Cells(b, x))
If Dokumente = "" Then Exit For
If (Dir(Sheets("Dokumente").Cells(1, x).Value)) = "" Then Exit For
If DokumenteSource = "" Then Exit For
If (Dir(Dokumente) "") Then Exit For
FileCopy DokumenteSource, Dokumente
Next b
End With
Next i

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung auf leeren Ordner
02.04.2020 10:35:46
Torsten
Hallo,
mit Exit For verlaesst du ja deine Schleife, gehst aber nicht zum naechsten.
Aendere diese beiden Zeilen:

If Dokumente = "" Then Exit For
If (Dir(Sheets("Dokumente").Cells(1, x).Value)) = "" Then Exit For

um in:

If Dokumente  "" Then
If (Dir(Sheets("Dokumente").Cells(1, x).Value))  "" Then

Dann wird weiter gemacht wenn "" mit dem naechsten Schleifendurchlauf.
Das gleiche eigentlich fuer alle Zeilen, wo du Exit For verwendest.
Gruss Torsten
AW: Prüfung auf leeren Ordner
02.04.2020 10:41:52
Peter
Hallo Thorsten,
danke für deine Antwort!
Leider erscheint nun der Fehler:
Fehler beim Kompilieren:
Next ohne For
VG
Anzeige
AW: Prüfung auf leeren Ordner
02.04.2020 10:43:13
Torsten
Poste mal bitte den gesamten Code. Dann sieht man, wo was fehlt oder zu viel ist
AW: Prüfung auf leeren Ordner
02.04.2020 10:45:52
Peter
Hallo Thorsten,
anbei der Code:
Sub DokumenteAnlegen()
Dim pre, Projekt As String
pre = ActiveWorkbook.Sheets("Eingabefenster").Cells(4, 2)
Projekt = ActiveWorkbook.Sheets("Eingabefenster").Range("B2").Value
Dim x As Integer
Dim m As Integer
Dim i As Integer
Dim a As Integer
Dim b As Integer
Dim Dokumente As Variant
Dim DokumenteSource As Variant
m = Sheets("Dokumente").Cells(1, 1).End(xlToRight).Column
x = 1
For x = 1 To m
i = Sheets("Dokumente").Cells(1, x).End(xlUp).Row
Dokumente = (Sheets("Dokumente").Cells(2, x).Value)
For i = 1 To x
With Worksheets("Quelle")
a = .Cells(1, x).CurrentRegion.Rows.Count
For b = 1 To a
DokumenteSource = (Sheets("Quelle").Cells(b, x))
If Dokumente = "" Then
If (Dir(Sheets("Dokumente").Cells(1, x).Value)) = "" Then
If DokumenteSource = "" Then
If (Dir(Dokumente)  "") Then
FileCopy DokumenteSource, Dokumente
Next b
End With
Next i
Next x
End Sub

Anzeige
AW: Prüfung auf leeren Ordner
02.04.2020 10:51:31
Torsten
Hallo Peter,
die End If fuer die If Abfragen haben gefehlt

Sub DokumenteAnlegen()
Dim pre, Projekt As String
pre = ActiveWorkbook.Sheets("Eingabefenster").Cells(4, 2)
Projekt = ActiveWorkbook.Sheets("Eingabefenster").Range("B2").Value
Dim x As Integer
Dim m As Integer
Dim i As Integer
Dim a As Integer
Dim b As Integer
Dim Dokumente As Variant
Dim DokumenteSource As Variant
m = Sheets("Dokumente").Cells(1, 1).End(xlToRight).Column
x = 1
For x = 1 To m
i = Sheets("Dokumente").Cells(1, x).End(xlUp).Row
Dokumente = (Sheets("Dokumente").Cells(2, x).Value)
For i = 1 To x
With Worksheets("Quelle")
a = .Cells(1, x).CurrentRegion.Rows.Count
For b = 1 To a
DokumenteSource = (Sheets("Quelle").Cells(b, x))
If Dokumente  "" Then
If (Dir(Sheets("Dokumente").Cells(1, x).Value))  "" Then
If DokumenteSource  "" Then
If (Dir(Dokumente) = "") Then
FileCopy DokumenteSource, Dokumente
End If
End If
End If
End If
Next b
End With
Next i
Next x
End Sub

Anzeige
AW: Prüfung auf leeren Ordner
02.04.2020 15:09:50
Peter
Hallo Thorsten,
okay, der Code läuft auf jeden Fall durch.
Leider mach er noch nicht das was er soll.
Ich werde den Code unten nochmal kopieren und darstellen und dazu schreiben, was ich will, dass er macht, vielleicht kann mir jemand sagen wieso nicht funktioniert, was funktionieren soll.
If Dokumente "" Then
'Hier soll getestet werden, ob das vorher definierte Feld Dokumente leer ist und falls ja soll weitergesprungen
If (Dir(Sheets("Dokumente").Cells(1, x).Value)) "" Then
'Hier soll geprüft werden ob eine Ordnerstruktur angelegt wurde und fall nein soll weitergesprungen werden
If DokumenteSource "" Then
'Hier soll getestet werden, ob das vorher definierte Feld DokumenteSource leer ist und falls ja soll weitergesprungen
FileCopy DokumenteSource, Dokumente
End If
End If
End If

Anzeige
AW: Prüfung auf leeren Ordner
03.04.2020 10:33:59
Torsten
Hallo Peter,
da ich deine Datei nicht kenne, habe ich mal nur noch so nach etwaiigen Fehlern gesucht. Habe festgestellt, dass an einer For Schleife etwas nicht passt. Habe das angepasst und hoffe, dass es jetzt funktioniert. Wenn es immer noch Probleme gibt, kannst du eine Kopie deiner Datei mit dem Code versehen mit ein paar Beispieldaten, sodass man daran testen kann?
Aber versuch erst nochmal folgenden Code:

Sub DokumenteAnlegen()
Dim pre, Projekt As String
pre = ActiveWorkbook.Sheets("Eingabefenster").Cells(4, 2)
Projekt = ActiveWorkbook.Sheets("Eingabefenster").Range("B2").Value
Dim x As Integer, m As Integer, i As Integer, j As Integer, a As Integer, b As Integer
Dim Dokumente As Variant
Dim DokumenteSource As Variant
m = Sheets("Dokumente").Cells(1, Columns.Count).End(xlToLeft).Column
For x = 1 To m
i = Sheets("Dokumente").Cells(1, x).End(xlUp).Row
Dokumente = (Sheets("Dokumente").Cells(2, x).Value)
For j = 1 To i
With Worksheets("Quelle")
a = .Cells(1, x).End(xlUp).Row
For b = 1 To a
DokumenteSource = (.Cells(b, x))
If Dokumente  "" Then
If (Dir(Sheets("Dokumente").Cells(1, x).Value))  "" Then
If DokumenteSource  "" Then
If (Dir(Dokumente) = "") Then
FileCopy DokumenteSource, Dokumente
End If
End If
End If
End If
Next b
End With
Next j
Next x
End Sub

Gruss Torsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige