2016-05-12 16 views
1

私は1004エラーを取得する:VBAコピー範囲エラー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)) 

それはコピーラインを指す、と私はここで間違っているものを知りません。お返事ありがとう

+3

で使用する入力し保存します() 'が参照しています。 'Cells()'を適切なシートにqulaifyする必要があります。 "ワークシート(" Tablecorrected ")Range(Worksheets(" Tablecorrected "))セル(2 + 19 ...など) –

+0

このように:' code'Worksheets( "Tablecorrected" ").Range(セル(2 + 19 * Row、1 + 19 * Col)、セル(19 + 19 * Row、18 + Col * 19)))コピー_ デスティネーション:=ワークシート(" Scriptsheet ")。範囲(ワークシート( "Scriptsheet"))範囲(セル(1,1)、セル(18,18))) 'code' – IschaIschratioh

+1

http://stackoverflow.com/questions/27763089/count-the-number-of-行内の別のシート/ 27763394#27763394 – Jeeped

答えて

3

Range()内のCells()は、Range()が参照しているシートではなく、アクティブシートを参照しています。

適切なシートにCells()を修飾する必要があります。

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

それとも、 `細胞は、()`) `レンジ(内部で` `レンジしたアクティブシートでないシートに参照のうえされているブロック

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 
関連する問題