エクセルで隣接しない複数のセルコピーの方法(マクロ)
例えば、このようなデータが入っていたとします。
複数範囲選択したセルをコピーしようとすると
「この操作は複数の選択範囲に対しては機能しません」
と、エラーメッセージが表示されコピーできません。
・・・コピーしたいんですよね。
市販ではKutoolsが汎用的な感じでありましたが
使ってませんし買っていません。
なのでマクロを組みました。
「一つ目のシートから二つ目三つ目のシートまで同じようにコピーする」マクロです。
ボタン配置して押せば動くようにしていますが
もっと簡単にマクロ名から実行しても良いと思います。
------------------------コードです---------------------------
Sub コピペボタン_Click()
Dim i, j, nextsheet
' 配列データを入れる
Dim Adds() As String
' 複数選択したアドレスを取得して同じ場所にこぴる
Adds = Split(Selection.Address, ",")
'仮定が、一つ目のシートから選択し二つ目、三つ目に書く、です。
' 二つ目のシートから貼り付け開始
nextsheet = 2
Worksheets(nextsheet).Activate
j = 1
'ここでは「3」でやってる。
For j = 1 To 3
For i = 0 To UBound(Adds)
' データ元は常に一番最初のシートと仮定してる。なので「1」
Worksheets(1).Range(Adds(i)).Copy
Worksheets(nextsheet).Range(Adds(i)).PasteSpecial Paste:=xlPasteAll
Next
' 次のシートへ移動
nextsheet = nextsheet + 1
Worksheets(nextsheet).Activate
j = j + 1
Next
'最初に戻る(基本最初のシートと仮定してる。)
Sheets(1).Select
'ちかちかしてるコピー中なあれを消す
Application.CutCopyMode = False