• ベストアンサー

エクセルVBAにてコピー

エクセルにて、VBAで、 あるフォーマットをコピーするようなものを作りたいのですが・・・。 例えば1~10行目までをコピーしたいとします。 その内容を1行空けて、12行目に貼り付ける。 次に、23行目に貼り付ける・・・というふうにして VBAにてまだ貼り付けられていない行に 貼り付けられるようにしたいのですが、できるでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

コピーしたい範囲を選択して下記マクロを実行します。 コピーする回数を聞いてくるので入力します。指定した回数、書式をコピーします。 '選択した範囲の書式をコピーする。標準モジュールに貼り付け。 Public Sub SyosikiCopy()   Dim rgAdr As String 'コピー元アドレス   Dim rgRows As Long 'コピー元行数   Dim CopyKaisuu As Integer 'コピー回数   Dim cot As Integer 'カウンタ   rgAdr = Selection.Cells(1, 1).Address   rgRows = Selection.Rows.Count   CopyKaisuu = InputBox("コピーする回数を入力して下さい")   '書式をコピーする   Application.CutCopyMode = False: Selection.Copy   For cot = 1 To CopyKaisuu     Range(rgAdr).Offset((rgRows + 1) * cot, 0).Select     Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _       False, Transpose:=False   Next   Range(rgAdr).Select End Sub

yuuchan
質問者

お礼

ありがとうございました。 早速、ためしてみました。上手くいきました。 これを機にもっと勉強しようと思いました。

関連するQ&A

専門家に質問してみよう