• ベストアンサー

VBA:Offsetから値が貼付けれない

はじめまして。 VBAを利用してマクロを作っているのですが、 Range("a6:l6").Copy Worksheets("結果シート").Range("A65536").End(xlUp).Offset(1) というのは動くのですが、結果シートへの貼付けを「値」で行いたいと思い、 以下の通りValueを指定しても動きません。 Range("a6:l6").Copy Worksheets("結果シート") .Range("A65536").End(xlUp).Offset(1).value PasteSpecialを使うと良いのかと思い、 Range("a6:l6").Copy Worksheets("結果シート") .Range("A65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues としてもエラーが出ます。 数式の結果を取得して、別のシートの空白セルを探し、「値」として張付ける。 というのがしたいのですが、なにか上手い方法があれば、ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Sheets("Sheet1").Range("a6:l6").Copy Worksheets("sheet2").Range("A65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues 他のシートにコピーする場合、2行にして下さい。

966
質問者

お礼

記述を2行に分けないとエラーが出て悩んでいたのですが、2行に分けた所、問題が解決しました。本当にありがとうございました。

その他の回答 (2)

回答No.3

値のコピー・貼り付けなら下記のような記述も出来ます。 ご参考にしてください。 With Worksheets("結果シート").Range("A65536").End(xlUp)   Range(.Offset(1, 0), .Offset(1, 11)).Value = Range("A6:L6").Value End With

966
質問者

お礼

現在VBA勉強中なので、別記述は参考になります。 ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

Range("a6:l6").Copy Worksheets("結果シート").Range("A65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues では?

966
質問者

お礼

完璧な回答ありがとうございます。hana-hana3さんと時間差以外の違いが無かったので、心苦しいのですが、次点良回答にさせて貰いました。ありがとうございました。