Wenn ich ".Range("A1")" durch ".Range(.Cells(l, 1), .Cells(h, lngLetzteSpalte))" ersetze, bekomme ich immer einen Objekt definierten Fehler.
Warum geht es mit den Variablen l, h und lngLetzteSpalte nicht mehr ?
l ist in diesem fall 7500, h = l - lngLetzteZeile
Set WbkEinfügen = ThisWorkbook
Workbooks.OpenText Filename:=strDateiName, DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierDoubleQuote, Comma:=True, _
DecimalSeparator:=".", ThousandsSeparator:=" "
Set WbkKopieren = ActiveWorkbook
Set WksVariabel = WbkKopieren.ActiveSheet
With WksVariabel
lngLetzteSpalte = .Range(.Cells(6, .Columns.Count), .Cells(6, 3)).Find(What:="*", _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:= _
xlPrevious).Column
lngLetzteZeile = .Range(.Cells(.Rows.Count, 3), .Cells(6, 3)).Find(What:="*", _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious). _
_
Row
WksVariabel.Range(.Cells(6, 3), .Cells(lngLetzteZeile, lngLetzteSpalte)).Copy
If l = "" Then
l = 7500
End If
h = l - lngLetzteZeile
WbkEinfügen.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Spur" & "_" & k
Set WksÜbersicht = WbkEinfügen.Sheets("Spur" & "_" & k)
WksÜbersicht.Range(.Cells(l, 1), .Cells(h, lngLetzteSpalte)).PasteSpecial Paste:= _
xlPasteValues
WksÜbersicht.Range(.Cells(l, 1), .Cells(h, lngLetzteSpalte)).PasteSpecial Paste:= _
xlPasteFormats
Application.CutCopyMode = False
WksÜbersicht.Columns.AutoFit
End With
Die Variable "l" wird durch eine Inputbox erzeugt
Private Sub CommandButton4_Click()
'InputBox um die Höhe Individuell fest zu legen
l = InputBox("Ab welcher Höhe beginnt der Scan?", "Höhe")
End Sub
Hier die Funktionierende Variante:
Set WbkKopieren = ActiveWorkbook
WbkKopieren.ActiveSheet.Range("A:ZZ").Copy
WbkEinfügen.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Spur" & "_" & k
Set WksÜbersicht = WbkEinfügen.Sheets("Spur" & "_" & k)
WksÜbersicht.Range("A1").PasteSpecial Paste:=xlPasteValues
WksÜbersicht.Range("A1").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
WksÜbersicht.Columns.AutoFit