エクセルでファイルの選択した範囲を別ファイルに値の貼付けするマクロボタンを作る方法

エクセル

あなたは定期的にCSVデータをもらい、一部の範囲を選択してエクセルシートに貼り付けるのが、大変だと思ったことはありませんか?

貼付け元のデータをいちいち範囲選択するのは意外と面倒ですよね。

シートによっては、全体を貼り付けると、貼り付け先に入ってる数式が消えてしまう場合もあります。

エクセルのマクロを使えば、あらかじめ範囲選択したセルをコピーして、貼付先の別ファイルに値の貼付けするのを、ボタン1つでできます。

今回は「エクセルでファイルの選択した範囲を別ファイルに値の貼付けするマクロボタンを作る方法」を紹介します。

エクセルでファイルの選択した範囲を別ファイルに値の貼付けするマクロボタンを作る方法

エクセルでファイルの選択した範囲を別ファイルに値の貼付けするマクロボタンを作る方法です。

今回は下のように貼付元、貼付先のブックがあり、貼付元→貼付先にシートの「値だけ」を貼付けする方法を例に紹介します。

それぞれ開くと下の画像のようになっています。

値の貼付けを行うと、下の画像のように書式やセルの色を崩さずに、セル内のデータだけを貼付けできます。

A1からD6セルまでの範囲をコピーして、値の貼付けを行う例になります。

E列には何もコピペしません。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法

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
    Dim copyRange As Range
    Dim pasteRange As Range

    ' 貼付元のファイルパスを設定
    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 copyRange = sourceSheet.Range("A1:D6") ' 適切なセル範囲を指定してください

    ' 貼り付ける先のシートを選択
    Set destinationSheet = destinationWorkbook.Sheets("Sheet1")

    ' 貼り付ける先のセル範囲を指定
    Set pasteRange = destinationSheet.Range("A1") ' 適切なセル範囲を指定してください

    ' 貼付元のデータを貼付先に貼り付け(書式は変更せずに値のみを貼り付け)
    copyRange.Copy

    ' 貼り付ける先のセル範囲に貼り付け
    pasteRange.PasteSpecial Paste:=xlPasteValues

    ' ペーストエリアからクリップボードのリンクを削除
    Application.CutCopyMode = False

    ' 貼付先のファイルを保存
    destinationWorkbook.Save

    ' ファイルを閉じる
    sourceWorkbook.Close False
    destinationWorkbook.Close True

    ' メッセージを表示
    MsgBox "データを貼り付けて保存しました。", vbInformation

※「****」は適切なパスを設定してください

コードを入力したら、コードの入力画面を閉じて下さい。

5.ボタンができた →ボタンをクリック

ボタンができました。

6.エクセルが開いて、シートをコピー →値の貼付けをし、保存する

ボタンを押すと、ファイルを開いてコピー →値の貼付けを行い、「貼り付けて保存しました」とでます。

貼付先のファイルに上書きされます。

開くとA1~D6までの値だけがコピペされています。

貼付先の書式やセルの色はそのままです。

E列に数式や上書きされたくない値が入っている場合でも使えますね。

これで範囲選択したコピペが沢山あっても、すぐ値の貼付けが終わりますね!

まとめ

エクセルでファイルの選択した範囲を別ファイルに値の貼付けするマクロボタンを作る方法のまとめです。

1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.新規作成をクリック

3.コードを入れる画面が出る

4.コードを入力

5.ボタンができた →ボタンをクリック

6.エクセルが開いて、シートをコピー →値の貼付けをし、保存する

これでファイルの値のコピペは簡単ですね!

コメント

タイトルとURLをコピーしました