2017-04-11 11 views
2

この問題は3つあります。 Sheet1!A1に週番号のセルが1つあります。 Sheet1!B1:F1に静的範囲があり、コピーする必要があります。次に、行の週数でオフセットしたSheet2のダイナミックレンジに値を貼り付ける必要があります。これは私が定期的に使うシートのために書いている大きなマクロの一部ですが、私はそれらの部品を持っているようです。私はあまり単純化しすぎているかもしれませんが、これは私が現在持っているものです。1枚のシートに静的範囲をコピーし、セル内の1つの値に基づいて別のシートのダイナミックレンジに貼り付けます

Sub CopyPaste() 
    Sheets(1).Range("B1:F1").Copy 
    OffsetRange = Sheets(1).Cells(1,1).Value 
    Sheets(2).Cells(1+OffsetRange,1).Paste 
End Sub 

私はこれを実行すると、それはこれらのエラーを引き起こしていただきました!438

誰もが知っている私にランタイムエラー9またはランタイムエラーを与えるのいずれか?範囲を貼り付けると、その場所に貼り付けると、セルオブジェクトがコピーした範囲の最初のセルを指していますか?

答えて

1

Option Explicit 

Sub CopyPasteOffset() 
    Dim OffsetRange As Long 
    OffsetRange = Worksheets(1).Cells(1, 1).Value 
    Worksheets(1).Range("B1:F1").Copy _ 
     Destination:=Worksheets(2).Cells(1 + OffsetRange, 1) 
End Sub 

.Paste方法は、ワークシートのメンバー範囲又は細胞ではない、としてそれを試してみてください。 Rangeオブジェクトのメンバーである.PasteSpecialと混同している可能性があります。いずれにしても、宛先をコピーコマンドに直接適用することは不可能である。

+0

デスティネーション:= "期待される表現:"を与え、デスティネーション= "変数が定義されていません" –

+0

'.Copy _'の後ろにアンダースコアを入れましたか?私がしたようにコマンドを並べ替えましたか? – Jeeped

+0

私は問題を参照してください。私はコピーと_の間にスペースがありませんでした。コピーのコピー先をペーストの特別な値として貼り付ける方法はありますか?元のコードには貼り付けアクションは含まれていないので、私はこれをどうやって行うのか不思議でした。 –