【ExcelVBA】セルをコピー&ペーストする方法 Copy & Pasteメソッド

こんなあなたにおすすめ

・Excel VBAでセルをコピーしたい

・Excel VBAでコピーした値をペーストしたい

・Excel VBAでセルをコピー&ペーストしたい

Excelを使っているとかなりの頻度でコピー&ペーストをすると思います。

今回は、Excel VBAでコピー&ペーストする方法について解説します。

セルをコピーしたい

Copyメソッドを使うことで、セルをコピーすることができます。

Rangeで指定したい場合は、以下の通りです。

Sub test1()

    Range("A1").Copy

End Sub

Cellsで指定したい場合は、以下の通りです。

Sub test2()

    Cells(1, 1).Copy

End Sub

コピーした値をペーストしたい

Pasteメソッドを使うことで、コピーした値を貼り付けることができます。

Sub test3()

    Cells(1, 1).Copy    'A1セルをコピーする
    Cells(1, 2).PasteSpecial (xlPasteAll)    'B2セルに貼り付ける

End Sub

↓コピーした結果

↓貼り付けた結果

↓コピー&ペーストしたときに、コピーモードになってしまう・・・

そんなときは、Application.CutCopyModeをFalseにしてあげましょう。

Sub test4()

    Cells(1, 1).Copy
    Cells(1, 2).PasteSpecial (xlPasteAll) ' B1
    Application.CutCopyMode = False

End Sub

セルをコピー&ペーストしたい

マクロの記録でコピー&ペースト

マクロの記録でコピー&ペーストした場合、以下のようなコードが作成されます。
マクロの記録ってめちゃくちゃ便利ですね。

Sub test5()

    Range("A1").Select  'A1セルを選択する
    Selection.Copy  '選択したセルをコピーする
    Range("B2").Select  'B2セルを選択する
    ActiveSheet.Paste   'アクティブシートに貼り付ける
    
End Sub

↓プログラム実行前の状態

↓プログラム実行結果

Copyメソッドを使う

Copyメソッドを使うことで、指定したセルをコピーし、指定したセルに貼り付けることができます。

基本的な書き方は、以下の通りです。

Object.Copy(Destination) 

Destinationは省略可能です。
省略した場合、クリップボードにコピーされます。

Copyメソッドを使ったコードを見ていきましょう。

Sub test6()

    '"Sheet1のA1セルの値をコピーし、B2セルに貼り付ける
    Worksheets("Sheet1").Range("A1").Copy _
        Destination:=Worksheets("Sheet1").Range("B2")

End Sub

上記のコードをもっとスッキリ書くこともできます。

Sub test7()

    Range("A1").Copy Range("B2")

End Sub

こちらのコードは、スッキリしていますが、シートが複数あるときなどは、アクティブシートのセルになるため注意しましょう。

まとめ

複数セルのコピー&ペーストについては、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】複数セルをコピー&ペーストする方法 Copy & Pasteメソッド

コピー&ペーストの貼り付けスタイルを指定する方法ついては、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】クリップボードの値を貼り付ける PasteSpecial

コピー&ペーストの高速化については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】セルをコピー&ペーストする 高速化する方法

Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

2 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です