Mit nachstehendem Code öffne ich in einem Verzeichnis eine Datei nach der anderen und kopiere verschiedene Bereiche in eine Zieldatei.
Dabei möchte ich bei den ersten Daten immer auch die Zeile 1 (Kopfzeile) kopieren; bei den anderen dann nicht mehr. Ich habe dies versucht, mit der Select Case zu bewerkstelligen. Irgend etwas ist falsch, es wird immer nur der Kopierbefehl bei CaseElse ausgeführt. Wo ist das Problem?
Herzlichen Dank für eine Rückmeldung!
Peter
'Dateien nacheinander öffnen und Daten übertragen
For i = 1 To lngZ
Set WB = Workbooks.Open(Filename:=strVerz & ShTab.Cells(i, 1))
'letzte beschriebene Zeile in Spalte B ermitteln:
lr = WB.Worksheets(TabName).Cells(Rows.Count, 2).End(xlUp).Row 'Spalte B wird abgefragt
'Wenn Spalte nicht leer dann...
If lr > 0 Then
'...Wert in Blatt [TabZiel] eintragen
lrZiel = WBAktiv.Sheets(TabZiel).Cells(Rows.Count, 1).End(xlUp).Row
Select Case i
Case i = 1
WB.Worksheets(TabName).Rows("1:" & lr).Copy Destination:=WBAktiv.Sheets(TabZiel).Cells(Rows.Count, 1).End(xlUp).Row
Case Else
WB.Worksheets(TabName).Rows("2:" & lr).Copy Destination:=WBAktiv.Sheets(TabZiel).Rows(lrZiel)
End Select
End If
'Mappe (ohne speichern) schließen
WB.Close False
Next i