"geht auch nicht " ist wenig aussagekräftig als Fehlermeldung.
Vielleicht als Hinweis. Bei Verwendung mehrerer Dateien muß man immer sicher gehen das man die richtige Datei anspricht.
deshalb verwendet man ja die Objektvariablen für die Workbooks. Wenn man dann einen Zellbezug( ohne das workbook) davor mit Worksheets("xyz").Cells(... verwendet, wird immer die gerade aktive Datei angesprochen. Kann funktionieren,muß aber nicht.
Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
If Dateiname <> False Then
Set wsZiel = ThisWorkbook.Worksheets.Add
wsZiel.Name = "Kopierter Inhalt"
Zeile = 1
'Zeilenwert (ab wo eingefügt werden soll) der immer wieder auf 7 zurückgesetzt _
' wird, damit er wieder ab diesen Zeilenwert einfügt
Set wbQuelle = Workbooks.Open(Filename:=Dateiname) 'Arbeitsmappe öffnen
Set wsQuelle = wbQuelle.Worksheets(1)
'Die letzte Zeile der aktuellenSpalte bestimmen
lz = wsQuelle.Cells(wsQuelle.Rows.Count, 2).End(xlUp).Row
'Schleife um die Zeilen der aktuellen Spalte zu durchlaufen
For i = 2 To lz
If wsQuelle.Cells(i, 2) <> "" Then 'Prüfen ob etwas drinnen steht
'wenn etwas drinnen steht, dann diesen Wert übertragen
wsZiel.Cells(Zeile, 1).Value = wsQuelle.Cells(i, 2).Value
Zeile = Zeile + 1 'Immer eine Zeile weiterwandern zwecks einfügen
End If
Next i
'Arbeitsmappe schliesen und kein Änderungen vornehmen
'wbQuelle.Close SaveChanges:=False
End If
|