アプリ版:「スタンプのみでお礼する」機能のリリースについて

セルコピーを指定範囲先に張り付けループさせるマクロを作成したいと
思います。

調べたところ以下のように指定範囲をコピーしてセルに貼り付けは
できるみたいですが、指定範囲先に貼り付けができません。

Sub CopyCell()
Range(Cells(1,2),Cells(3,4)).Copy Destination:=Cells(5,6)
End Sub

  ↓
最終的に以下のように実行を考えています。
Dim p As Integer
For p = 1 To 10
Range(5,6).Copy Destination:=Range(Cells(10*p+2,2),Cells(10*p+15,4))
Next p

セル値を等間隔に連続して貼り付けは可能でしょうか?
よろしくお願いします。

A 回答 (2件)

コピー元が1個のセルなのに,貼り付け先は2列14行の範囲になってますが,それでいいんですね?


コピー元と貼り付け先のカタチが違っていると意図しない結果になる場合があるので,先の回答でもしてましたが注意や,それなりの手当が必要です。

作成例:
sub macro1()
 dim p as long
 for p = 12 to 112 step 10
  cells(5, 6).copy destination:=range(cells(p, 2), cells(p + 13, 4))
 next p
end sub
    • good
    • 0

Sub CopyDomein(ByVal Domein01 AS range , ByVal Domein02 AS range)


Dim count As long,cal01 As long,rose01,As long,rose02 As long' …乙女か!! (ここでrowse01とかすると怒られるの… (-_-;)涙 可読性高いのにね~)
  rose01 = Domein01.rows
  rose02 = Domein02.rows
  cal01 = (rose02 - (rose02 mod rose01)) / rose01
  For count = 0 to cal01 - 1 Step rose01
    Domein01.Copy Cells(Domein02.row + count , Domein02.column)
  Next
End Sub

最初何故か Rengeを返すファンクションにしたのですが、
返すものがエラー状況しかないので 止めました 汗

迷った … と、云えば
Domein02.rowの扱いも迷いました、
幾度となく参照されるものなので、
変数に入れてしまうか 迷ったのですが、
まあ、こう留めました。

Domein01がコピー元、Domain02がコピー先です。

VBEどころか デバッグすら掛けていないので、
間違いがあったら直して下さいね。

コピーの時、
コピー先は 左上隅の一セルのみを指定すれば
それで範囲を 自動判別してくれるので
これでいけるはずです。

お役に立てていたならば幸いです。
    • good
    • 0

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