- ベストアンサー
マクロでセルコピーを指定範囲に張り付ける方法とは?
- マクロでセルのコピーを指定範囲に張り付ける方法について知りたいです。
- 現在、指定範囲にコピーはできるが張り付けができない状況です。
- セルの値を等間隔に連続して貼り付け可能かどうか知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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どころか デバッグすら掛けていないので、 間違いがあったら直して下さいね。 コピーの時、 コピー先は 左上隅の一セルのみを指定すれば それで範囲を 自動判別してくれるので これでいけるはずです。 お役に立てていたならば幸いです。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
コピー元が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