あなたは定期的に決まった集計をするのにCSVデータなどをもらい、書式設定を整えたエクセルシートに毎回貼り付けするのが大変だと思ったことはありませんか?
貼付元のエクセルブックを1つずつコピーして、貼付先のエクセルブックに値の貼付けするのを簡単にできたらいいですよね。
エクセルのマクロを使えば、ブックのシートをコピーして、貼付先の別のブックに値の貼付けをするのがボタン1つでできます。
今回は「エクセルで貼付元ブックから別の貼付先ブックに値の貼付けをするマクロボタンを作る方法」を紹介します。
エクセルで貼付元ブックから別の貼付先ブックに値の貼付けをするマクロボタンを作る方法
エクセルで貼付元ブックから別の貼付先ブックに値の貼付けをするマクロボタンを作る方法です。
今回は下のように貼付元、貼付先のブックがあり、貼付元→貼付先にシートの「値だけ」を貼付けする方法を例に紹介します。
それぞれ開くとこのような形になっています。
値の貼付けを行うと、下の画像のように書式やセルの色を崩さずに、セル内のデータだけを貼付けできます。
マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.「新規作成」をクリック
3.コード入力画面が開く
4.コードを入力
コードを入力します。
デスクトップの貼付元、貼付先のファイルを開いて、シートの値だけをコピー →値の貼付けを行い、ファイルを閉じる、という意味です。
赤枠部のコードです。
Dim sourceFilePath As String
Dim destinationFilePath As String
Dim sourceWorkbook As Workbook
Dim destinationWorkbook As Workbook
Dim sourceSheet As Worksheet
Dim destinationSheet As Worksheet
' 貼付元のファイルパスを設定
sourceFilePath = "C:\Users\****\Desktop\貼付元.xlsx"
' 貼付先のファイルパスを設定
destinationFilePath = "C:\Users\****\Desktop\貼付先.xlsx"
' 貼付元のファイルを開く
Set sourceWorkbook = Workbooks.Open(sourceFilePath)
' 貼付先のファイルを開く
Set destinationWorkbook = Workbooks.Open(destinationFilePath)
' 貼付元のシートを選択
Set sourceSheet = sourceWorkbook.Sheets("Sheet1") ' シート名を適切なものに変更
' 貼付先のシートを選択
Set destinationSheet = destinationWorkbook.Sheets("Sheet1") ' シート名を適切なものに変更
' 貼付元のデータを貼付先に貼り付け(書式は変更せずに値のみを貼り付け)
sourceSheet.UsedRange.Copy
destinationSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
' 貼付先のファイルを保存
destinationWorkbook.Save
' ファイルを閉じる
sourceWorkbook.Close False
destinationWorkbook.Close True
' メッセージを表示
MsgBox "データを貼り付けて保存しました。", vbInformation
※「****」は適切なパスを設定してください
コードを入力したら、コードの入力画面を閉じて下さい。
5.ボタンができた →ボタンをクリック
ボタンができました。
6.エクセルが開いて、シートをコピー →値の貼付けをし、保存する
ボタンを押すと、ブックを開いてコピー →値の貼付けを行い、「貼り付けて保存しました」とでます。
貼付先のファイルに上書きされます。
開くとシートの値だけがコピペされています。
貼付先の書式やセルの色はそのままです。
これならコピペするファイルが複数あっても、素早く簡単に値の貼付けができますね!
まとめ
エクセルで貼付元ブックから別の貼付先ブックに値の貼付けをするマクロボタンを作る方法のまとめです。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた →ボタンをクリック
6.エクセルが開いて、シートをコピー →値の貼付けをし、保存する
これで値の貼付けをしたいファイルがたくさんあっても、コピペが簡単になりますね!
コメント