【エクセルマクロ】別ファイルにコピーする:使用例5選

VBA-別ファイルにコピー-アイキャッチ ExcelVBA

エクセルマクロで、データをコピーして別ファイルに貼り付けるVBAコードを記載しています。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

別ファイルにコピー

以下のマクロを実行すると、指定セル範囲を別ファイルにコピーします。


Sub 別ファイルへペースト()

    'コピー先のファイルを開く
    Workbooks.Open "C:\Users\admin\Documents\work\Book2.xlsx"
                
    'Book1からBook2に値をコピー
    Workbooks("Book1.xlsm").Sheets("Sheet1").Range("A1:D10").Copy Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A1")
            
End Sub
マクロ実行後

すでに開いている 「Book1.xlsm」 の [A1:D10] コピーして、

[Workbooks.Open] で開いた「Book2.xlsx」に貼り付けます。

書式や計算式も貼りつきます。


 
 

別ファイルにコピー(新規ファイル)

以下のマクロを実行すると、特定セルを新しいブックにコピーします。


Sub 別ファイルへ貼り付け()

Dim NewBook As Workbook

    '新規ファイル作成
    Workbooks.Add
    Set NewBook = ActiveWorkbook

    'Book1から新規ファイルにコピー
    Workbooks("Book1.xlsm").Sheets("Sheet1").Range("A1:D10").Copy NewBook.Sheets("Sheet1").Range("A1")

End Sub
マクロ実行後

すでに開いている 「Book1.xlsm」 の [A1:D10] コピーして、

[Workbooks.Add] で作成した新規ファイル [NewBook] に貼り付けます。

書式や計算式も貼りつきます。


 
 

別ファイルにコピー(値のみ)

以下のマクロを実行すると、特定セルを別ファイルにコピーします。


Sub 別ファイルへ値貼付()

    'コピー先のファイルを開く
    Workbooks.Open "C:\Users\admin\Documents\work\Book2.xlsx"

    'Book1の値をコピー
    Workbooks("Book1.xlsm").Sheets("Sheet1").Range("A1:D10").Copy
    
    'Book2に値貼り付け
    Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues

End Sub
マクロ実行後

すでに開いている 「Book1.xlsm」 の [A1:D10] コピーして、

[Workbooks.Open] で開いた「Book2.xlsx」に、値のみ貼り付けます。


 
 

別ファイルにコピー(条件付き書式以外)

以下のマクロを実行すると、条件付き書式を削除したデータを別ファイルにコピーします。


Sub 別ファイルへペースト()

    'コピー先のファイルを開く
    Workbooks.Open "C:\Users\admin\Documents\work\Book2.xlsx"

    'Book1からBook2に値をコピー
    Workbooks("Book1.xlsm").Sheets("Sheet1").Range("A1:D10").Copy Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A1")
    
    'Book2のSheet1から条件付き書式を削除
    Workbooks("Book2.xlsx").Sheets("Sheet1").Cells.FormatConditions.Delete

End Sub

マクロ実行前

「Book1.xlsm」 のD列に条件付き書式が入っています。


 

マクロ実行後

すでに開いている 「Book1.xlsm」 の [A1:D10] コピーして、

[Workbooks.Open] で開いた「Book2.xlsx」に貼り付けます。

背景色や罫線は貼りつきますが、条件付き書式は貼り付けません。


 
 

別ファイルにコピー(変数使用)

以下のマクロを実行すると、特定範囲を別ファイルにコピーします。


Sub 別ファイルへコピー()

Dim Bk1 As Workbook
Dim Bk2 As Workbook

    Set Bk1 = ActiveWorkbook

    'コピー先のファイルを開く
    Workbooks.Open "C:\Users\admin\Documents\work\Book2.xlsx"
    Set Bk2 = Workbooks("Book2.xlsx")

    'Book1からBook2に値をコピー
    Bk1.Sheets("Sheet1").Range("A1:D10").Copy Bk2.Sheets("Sheet1").Range("A1")

    
End Sub
マクロ実行後

すでに開いている 「Book1.xlsm」 を変数 [Bk1] に格納します。

[Bk1] の [A1:D10] コピーして、

[Workbooks.Open] で開いた「Book2.xlsx」に貼り付けます。

書式や計算式も貼りつきます。


 
 

別ファイルにコピー(複数シート)

以下のマクロを実行すると、セルを別ファイルの複数シートにコピーします。


Sub 別ファイルへコピー()

Dim ws As Worksheet

    'コピー先のファイルを開く
    Workbooks.Open "C:\Users\admin\Documents\work\Book2.xlsx"
    
    'Book2の全シートをループ
    For Each ws In Workbooks("Book2.xlsx").Worksheets

        'Book1からBook2に値をコピー
        Workbooks("Book1.xlsm").Sheets("Sheet1").Range("A1:D10").Copy ws.Range("A1")
    
    Next ws

End Sub
マクロ実行後

すでに開いている 「Book1.xlsm」 の [A1:D10] コピーして、

[Workbooks.Open] で開いた「Book2.xlsx」の全シートに貼り付けます。

書式や計算式も貼りつきます。


 

 
 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】別シートにコピーする:使用例10選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!