1

不明な行数をコピーして別のワークシートの特定の場所に貼り付けるコードを作成しようとしています。これまでのところ、以下に示すコードがあります。列 A:F から不明な行数のデータをコピーし、H6 から貼り付けたいと考えています。コード "Range("A1", lastrow).Select" でエラーが発生します。エラーは「オブジェクト ワークシートのメソッド範囲に失敗しました」です。すべての助けに感謝します。

Dim lastrow As Long
Dim copyrange As Range

lastrow = Range("A65536").End(xlUp).Select
 Range("A1", lastrow).Select
    Selection.Copy
    Sheets("Final").Select
    Range("H6").Select
    ActiveSheet.Paste
End Sub
4

1 に答える 1

4

これをデバッグすると、 の値が であることがわかりlastRowます-1.Selectそこ(そして、どこでも)を取り除きます。.Copyまた、私が修正する範囲にエラーがあります:

Sub Test()
Dim lastrow As Long

   lastrow = Range("A65536").End(xlUp).Row
   Range("A1:F" & lastrow).Copy Destination:=Sheets("Final").Range("H6")

End Sub

または、値を転送するだけで、これでうまくいくと思います(テストされていません):

Sub Test2()
Dim copyRange as Range
   Set copyRange = Range("A1:F" & Range("A65536").End(xlUp).Row)
   With copyRange
       Sheets("Final").Range("H6").Resize(.Rows.Count, .Columns.Count).Value = .Value
   End With
End Sub
于 2013-06-21T18:07:30.850 に答える