Ein bestimmter Bereich einer Originaldatei soll an das Ende einer anderen Exceldatei kopiert werden.
Für "nur" eine Zeile klappt das auch schon ganz gut. Was aber wenn der Bereich über zwei (mehrere) Zeilen geht?
Geht eigentlich nur um die Zeile (soweit ich es verstehe), denn für nur eine Zeile funktioniert es...
(hab da mal so eine kleine for-Schleife drumgebaut, syntax stimmt aber wohl nicht ganz)
Set ErsterBereich = Worksheets("input").Range(.Cells(x, 2), .Cells(x, 46))
Besten Dank für jeglichen Tip!
Simon
~f~
Dim wks As Worksheet, Dateiname As String
Dateiname = "c:\db.xls"
Dim wb As Workbook, rng As Range, iRowZ As Integer, iCol As Integer, rng_tmp As Range
' Zielmappe öffnen
Set wb = Workbooks.Open(Filename:=Dateiname)
With wb.Worksheets(1) ' erste freie Zeile des Zielblatts
iRowZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
iCol = 1
ThisWorkbook.Activate
For x = 7 To 46
If Cells(x, 2).Text = "" Then
Else
'Set ErsterBereich = Worksheets("input").Range("B7:B46") '
>>>>>>
Set ErsterBereich = Worksheets("input").Range(.Cells(x, 2), .Cells(x, 46))
>>>>>>
For Each rng In ErsterBereich
rng.Copy
Set rng_tmp = .Cells(iRowZ, iCol)
'rng_tmp.PasteSpecial xlPasteAll ' Alles (Formeln) aus Zwischenabl.
rng_tmp.PasteSpecial xlPasteValues ' Werte aus Zwischenabl.
iCol = iCol + 1
Next rng
End If
Next x
End With ' Zielmappe schließen+sichern
wb.Close SaveChanges:=tru ' Werte im selektierten Bereich löschen
'Selection.ClearContents ' aufräumen
Cells(1, 1).Select
Set wb = Nothing
Set rng = Nothing