こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCEL VBAのオフセットの使い方について

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

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

投稿日時 - 2009-02-19 22:35:34

QNo.4732374

困ってます

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

i = Selection.Address
Range(i).Copy
Range(Range(i), Range(i).Offset(10, 0)).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats

投稿日時 - 2009-02-19 22:42:31

お礼

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

投稿日時 - 2009-02-19 23:14:55

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

標準モジュールに
Sub Macro1()
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(10, 0)).Value = ActiveCell.Value
End Sub
コピィして
適当なセルをアクティブにした後に実行してみてください。

投稿日時 - 2009-02-19 22:48:16

お礼

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

投稿日時 - 2009-02-19 23:15:26

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-