.Range.Copy Problem
21.10.2016 10:36:26
Max2
ich bekommen immer die Fehlermeldung '1004' "Die Methode Range für das Object... Fehlgeschlagen".
Aus wksData werden werte ab C6 verarbeitet, In wksErgebnis kommen die verarbeiteten Daten, jetzt soll aber auch noch der besagt Bereich aus wksData in wksErgebnis eingefügt werden.
Set wksData = ActiveWorkbook.Sheets("Tabelle1")
With wksData
lngZeile_2 = .Range(.Cells(.Rows.Count, 3), .Cells(6, 3)).Find(What:="*", LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
lngAnzSpa = .Range(.Cells(6, .Columns.Count), .Cells(6, 3)).Find(What:="*", LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Der obere Code soll lediglich zeigen was lngZeile_2 und lngAnzSpa istDer untere Code ist das Problemkind:
Set wksErgebnis = ActiveWorkbook.Sheets("Zusammenfassung")
With wksErgebnis
.Cells(1, 1).Value = "Nr. Block"
.Cells(1, 2).Value = "Minimum"
.Cells(1, 3).Value = "Mittelwert"
.Cells(1, 4).Value = "StAbw"
.Cells(1, 5).Value = "Zeile 1"
.Cells(1, 6).Value = "Zeile 2"
.Cells(2, 1).Resize(UBound(arrErgebnis, 1), 6) = arrErgebnis
.Columns.AutoFit
lngErgSpalten = .Cells.SpecialCells(xlCellTypeLastCell).Column
lngErgSpalte = lngErgSpalten + 1
lngErgZeilen = 2
wksData.Range(.Cells(6, 3), .Cells(lngZeile_2, lngAnzSpa)).Copy _
Destination:=wksErgebnis.Range(lngErgZeilen, lngErgSpalte)
.Columns.AutoFit
End With
Im Fett markierten Teil des Codes tritt der Fehler auf und ich komme nicht drauf was falsch ist.Aus wksData soll alles von "C6" bis zum Ende des Blattes Kopiert werden, in wksErgebnis soll dieser dann in "G2" eingefügt werden.
G2 besteht aus lngErgSpalte und lngErgZeilen, da in die Spalten A-F Werte eingefügt werden.
Also wksData.Range(C6 bis Ende des benutzen Bereichs.Copy _
Destiniation:=wksErgebnis.Range(G2)
Warum bekomme ich dauernd eine Fehlermeldung, hab ich was übersehen oder komplett falsch gemacht ?
Ich habe auch folgendes versucht
lngErgSpalten = .Cells.SpecialCells(xlCellTypeLastCell).Column
lngErgSpalte = lngErgSpalten + 1
lngErgSpalteF = lngErgSpalte + lngAnzSpa
lngErgZeilen = 2
lngErgZeileF = lngErgZeilen + lngZeile_2
wksData.Range(.Cells(6, 3), .Cells(lngZeile_2, lngAnzSpa)).Copy _
Destination:=wksErgebnis.Range(.Cells(2, lngErgSpalten), .Cells(lngErgZeileF, _
lngErgSpalteF))