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

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」に貼り付けます。


 

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

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


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] で作成した新規ファイル(Book2.xlsx)に貼り付けます。


 

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

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


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」に、値のみ貼り付けます。


 

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

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


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」に貼り付けます。


 

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

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


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」の全シートに貼り付けます。


 

 

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

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

 

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