Do...Loop
17.05.2004 13:59:19
Joey
In meinem Quell-Workbook habe ich in den Spalten A - E (über alle Zeilen des Sheets) Einträge, die vorhanden sein müssen. In der Zieldatei (in welcher der unten angeführte Code enthalten ist) sollen die Daten aber nur dann übernommen werden, wenn in Spalte F ein Eintrag vorhanden ist; dann aber alle Einträge in der Zeile (also von Spalte A bis U). Alles klar?
Mein Code:
Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktiv\Ma\*.xls")
Range("A9:U1000").ClearContents
Do Until lstrDateiName = ""
Workbooks.Open "C:\Aktiv\Ma\" & lstrDateiName
liZeile = 9
Do Until Sheets(1).Range("A" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("A9:U" & liZeile).Copy
Workbooks(1).Activate
If Range("A9").Value = "" Then
Range("A9").Select
End If
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = 9
Do Until Workbooks(1).Sheets("Daten").Range("A" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("A" & liZeile).Select
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
Range("P1") = Date & ", " & Time
Range("E1").Select
End Sub
Das bedeutet, dass der Code erkennen müßte, dass eine Zeile nur dann eingefügt wird, wenn in der Spalte F ein Eintrag vorhanden ist.
So wie jetzt erkennt der Code dass in Spalte ein Eintrag vorhanden ist und kopiert alles. Dieser Eintrag in A ist aber immer vorhanden...
Grüße
Joey