エクセルマクロで、データをコピーして別ファイルに貼り付ける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」の全シートに貼り付けます。
書式や計算式も貼りつきます。
この記事がお役に立ちますと幸いです。
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!