Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.Range.Copy Problem

.Range.Copy Problem
21.10.2016 10:36:26
Max2
Hallo Leute,
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 ist
Der 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))

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .Range.Copy Problem
21.10.2016 10:52:20
Nepumuk
Hallo,
teste mal:
With wksData
    .Range(.Cells(6, 3), .Cells(lngZeile_2, lngAnzSpa)).Copy _
        Destination:=wksErgebnis.Cells(lngErgZeilen, lngErgSpalte)
End With

Gruß
Nepumuk
Problem Gelöst! Danke Nepumuk
21.10.2016 10:56:48
Max2
Super vielen Dank!
So geht's
Also kann man nur Copy machen wenn man dass auch in den With-Block der zu kopierenden Tabelle schreibt
Anzeige
AW: Problem Gelöst! Danke Nepumuk
21.10.2016 11:01:08
Nepumuk
Hallo,
der gesamte Ausdruck Range und die beiden Cells-Objekte muss sich auf die entsprechende Tabelle beziehen. Das war der Fehler.
Gruß
Nepumuk
AW: Problem Gelöst! Danke Nepumuk
21.10.2016 11:09:52
Max2
Danke für deine Hilfe und Erklärung, du hast mir sehr geholfen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige