セルの値をコピーする方法
今日はセルの値をコピーする方法を学んでいこう。
よろしくお願いします!
前回あった、”セルの値を削除”記事の続きになります。
今日使うソースコードを先に載せておくね!
Sub Copy_Cell()
'Sheet1をアクティブにします
Worksheets("Sheet1").Activate
Cells(2, 1).Copy Cells(2, 3)
Cells(3, 1).Copy Cells(3, 3)
Cells(4, 1).Copy Cells(4, 3)
Stop
Cells(2, 3).ClearContents
Cells(3, 3).ClearContents
Cells(4, 3).ClearContents
Stop
Range("A2").Copy Range("C2")
Range("A3").Copy Range("C3")
Range("A4").Copy Range("C4")
Stop
Range("C2").ClearContents
Range("C3").ClearContents
Range("C4").ClearContents
Stop
Cells(2, 1).Copy Sheets("Sheet2").Cells(1, 1)
Range("A4").Copy Sheets("Sheet2").Range("A4")
End Sub
今日はセルの値をコピーする方法を学んでいきましょう。
今回も、下準備として新規Excelマクロブックを開いてください。この時に空の”Sheet1″シートと”Sheet2″シートが存在することを確認して下さい。
次に、上記ソースコードを標準モジュールにコピー&ペーストで貼り付けるか、書き写して下さい。
その後、下記のようにSheet1のA2セルに”100″をA3セルに”200″をA4セルに”300″を手入力して下さい。
“F5” キーで一つずつ動作を確認していきましょう。
6行目から8行目のコードで、Cellsを使い
A2セルに値をC2セルに
A3セルに値をC3セルに
A4セルに値をC4セルに
それぞれコピーしています。
このようにコピー元のセル.Copy コピー先のセルと記述して下さい。
Cells(2, 1).Copy Cells(2, 3)
Cells(3, 1).Copy Cells(3, 3)
Cells(4, 1).Copy Cells(4, 3)
次に今度はCellsではなく、Rangeを使ってコピーする例になります。
18行目から20行目のコードで、Rangeを使ってセルの値をコピーしています。
Range("A2").Copy Range("C2")
Range("A3").Copy Range("C3")
Range("A4").Copy Range("C4")
Cellsの時と同じように、セルの値をコピーできましたね。
最後にSheet1の値をSheet2にコピーする方法を見てみましょう。
Sheets(“シート名”)と記載することで別のシートにもセルの値をコピー出来ます。
Cells(2, 1).Copy Sheets("Sheet2").Cells(1, 1)
Range("A4").Copy Sheets("Sheet2").Range("A4")
Sheet2のA1セルとA4セルに値がコピー出来ていることが確認できると思います。
手作業だとCtrl + c → Sheet選択 → Ctrl + vと手間がかかるけど、
マクロにすると一瞬に感じるね!
そうだね、さらに繰り返し作業をする時なんかはもっと効果を実感できると思うよ!
まとめ
今日はセルのコピー方法について学びました。コピー&ペーストで処理するケースが多い場合このマクロを知っていると一気に自動化への選択肢が広がります。
繰り返し処理と合わせて習得していきましょう。
コメント