2016-05-12 30 views
1

Ich erhalte einen 1004-Fehler, wenn Sie diesen Code ausführen:VBA Kopierbereich Fehler 1004

Dim Row As Integer 
Dim Col As Integer 

Row = Worksheets("Design").Cells(11, 22).Value 
Col = Worksheets("Design").Cells(12, 22).Value 

Worksheets("Tablecorrected").Range(Cells(2 + 19 * Row, 1 + 19 * Col), Cells(19 + 19 * Row, 18 + Col * 19)).Copy _ 
Destination:=Worksheets("Scriptsheet").Range(Cells(1, 1), Cells(18, 18)) 

Es Punkt auf die Kopie Linie, und ich weiß nicht, was hier nicht stimmt. Danke für Ihre Hilfe

+3

Die 'Zellen()' in der 'Range()' sich beziehen auf das aktive Blatt nicht das Blatt, auf die die 'Bereich verwenden würde() 'bezieht sich darauf. Sie müssen die 'Cells()' zum richtigen Blatt qulaify. 'Arbeitsblätter (" Tablecorrected "). Bereich (Arbeitsblätter (" Tablecorrected "). Zellen (2 + 19 ...' usw.) –

+0

Wie folgt: 'code'Worksheets (" Tablecorrected "). Bereich (Arbeitsblätter (" Tablecorrected ") .Range (Zellen (2 + 19 * Zeile, 1 + 19 * Spalte), Zellen (19 + 19 * Zeile, 18 + Spalte * 19))). Kopieren _ Ziel: = Arbeitsblätter (" Skriptblatt "). Bereich (Arbeitsblätter ("Scriptsheet"). Bereich (Zellen (1, 1), Zellen (18, 18))) 'code' – IschaIschratioh

+1

http://stackoverflow.com/questions/27763089/count-the-number-of- Zeilen in einem anderen Blatt/27763394 # 27763394 – Jeeped

Antwort

3

Die Cells() innerhalb der Range() beziehen sich auf das aktive Blatt nicht das Blatt, auf das sich die Range() bezieht.

Sie müssen die Cells() für das richtige Blatt qualifizieren.

Worksheets("Tablecorrected").Range(Worksheets("Tablecorrected").Cells(2 + 19 ... and so on. 

oder Eingabe speichern Sie ein mit dem Block

Dim Row As Integer 
Dim Col As Integer 

Row = Worksheets("Design").Cells(11, 22).Value 
Col = Worksheets("Design").Cells(12, 22).Value 

With Worksheets("Tablecorrected") 

    .Range(.Cells(2 + 19 * Row, 1 + 19 * Col), .Cells(19 + 19 * Row, 18 + Col * 19)).Copy _ 
    Destination:=Worksheets("Scriptsheet").Range(Worksheets("Scriptsheet").Cells(1, 1), Worksheets("Scriptsheet").Cells(18, 18)) 

End With 
Verwandte Themen