Ich versuche einen Code zu machen welchen die Daten aufgrund eines Headers auswählt und dann in ein anderes Excel-Dokument kopiert. Ich habe bereits einen Code der die Daten auswählt und sie in ein Range platziert. Wenn ich nun aber die Formel benutzen will, um es in das andere Dokument zu übertragen gibt es mir einen Fehler. Der Code ist dabei im Visual Basic vom Dokument wo die Daten eingefügt werden sollten. Habt ihr eine Idee wie ich den Fehler beheben könnte? (beim Fehler handelt es sich um einen Laufzeitfehler 1004)
Sub SelectHeader()
Dim ws As Worksheet
Dim hostCellRange As Range, cfind As Range
Dim lRow As Long, lCol As Long
Set ws = Workbooks("Daten").Worksheets("Selected")
With ws
.AutoFilterMode = False
With .Range("A6", .Cells(6, .Columns.Count).End(xlToLeft))
.AutoFilter Field:=3, Criteria1:="HP"
.AutoFilter Field:=246, Criteria1:="glo"
Set cfind = .Find(What:="Option Number", LookIn:=xlValues, lookat:=xlWhole)
If Not cfind Is Nothing Then
'~~> Find the column number
lCol = cfind.Column
'~~> Find the last row in that column
lRow = ws.Range(Split(Cells(, lCol).Address, "$")(1) & ws.Rows.Count).End(xlUp).Row
'~~> Create the range
Set hostCellRange = .Range(cfind.Offset(1, 0), cfind.Offset(lRow - 1, 0))
Debug.Print hostCellRange.Address
Workbooks("Daten").Sheets("Selected").Range("hostCellRange").copy Workbooks("Zieldatei").Sheets("zielseite").Range("B" & 6)
End If
End With
End With
End Sub