dポイントプレゼントキャンペーン実施中!

EXCEL VBAのOffsetの使い方で質問があります。
(1)選択したセルをコピーする
(2)選択したセルの下10行全部に貼り付ける
という処理をしたいのですが、

i = Selection.Address
With Range(i)
.Copy
.Offset(10, 0).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
End With
というコードだと、10行下のセルのみに貼り付けがされてしまい、
下10個のセル全部に貼り付けができません。
Range()を使うのではないかと思ったのですが、うまく出来ませんでした。
よろしくお願いいたします。

A 回答 (2件)

i = Selection.Address


Range(i).Copy
Range(Range(i), Range(i).Offset(10, 0)).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
    • good
    • 1
この回答へのお礼

ありがとうございました。できました!
Range(Range(i), Range(i).Offset(10, 0))という使い方は知らなかったので勉強になりました。
またよろしくお願いいたします。

お礼日時:2009/02/19 23:14

標準モジュールに


Sub Macro1()
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(10, 0)).Value = ActiveCell.Value
End Sub
コピィして
適当なセルをアクティブにした後に実行してみてください。
    • good
    • 1
この回答へのお礼

教えていただいた内容でできました。ありがとうございました。

お礼日時:2009/02/19 23:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています