• ベストアンサー

【Excel】範囲指定のコードの書き方

Excel2003を使用しています。 あるマクロに下記の内容を付け加えたいのですが… ActiveCell.Offset(-2, 11)に入力されている数式をActiveCell.Offset(7, 11)からActiveCell.Offset(39, 11)の範囲にコピーしたいのですが、コピー先の範囲をどのように書いたらよいのかわかりません。 現在使用中のマクロに付け加えたいので、あえてActiveCellからどの位置にあるという形で書かせていただきましたが、わかりづらいようでしたら、補足いたしますので、よろしくお願いします。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

単純に   With ActiveCell     .Offset(-2, 11).Copy (Range(.Offset(7, 11), .Offset(39, 11)))   End With と書けばいいかと思えば、なぜかエラーになってしまいました。 ワンクッションおいて、   Dim CopyTo   With ActiveCell     Set CopyTo = Range(.Offset(7, 11), .Offset(39, 11))     .Offset(-2, 11).Copy (CopyTo)   End With とすればコピーできました。

rx-z5815
質問者

お礼

おはようございます。 ham_kamo さんの書いてくださった『単純に…』の方のコードで、Rangeの前の括弧を削除して(下記)試してみたところ、コピーできました。    With ActiveCell  .Offset(-2, 11).Copy Range(.Offset(7, 11), .Offset(39, 11))  End With 回答ありがとうございました。

関連するQ&A