ワークシートから別のワークシートへコピー&ペーストするマクロ(15の方法)

  • これを共有
Hugh West

目次

複数のExcelシートを扱う場合、あるスプレッドシートから別のスプレッドシートにデータをコピーする必要があることがあります。 実装方法 ブイビーエー は、Excelであらゆる操作を実行するための最も効果的で、迅速かつ安全な方法です。 この記事では、次の方法を紹介します。 ワークシートから別のワークシートへのデータのコピー&ペースト をエクセルで表示します。 VBAマクロ .

ワークブックダウンロード

練習用Excelワークブックは、こちらから無料でダウンロードできます。

あるワークシートから別のワークシートへのコピー&ペースト.xlsm

Excelでワークシートから別のワークシートにデータをコピー&ペーストするVBAを使った15の方法

このセクションでは、15のメソッドを学ぶことができます。 コピーしたデータを別のワークシートに貼り付ける をもって ブイビーエー をExcelで表示します。

上記は、本記事で例として取り上げるデータセットです。

1.あるワークシートから別のワークシートへデータ範囲をコピー&ペーストするVBAマクロを埋め込む

へのステップ VBAを使用して、あるワークシートから別のワークシートへデータ範囲をコピー&ペーストする は以下の通りです。

ステップス

  • はじめに を押してください。 Alt + F11 キーボードから、またはタブで 開発者 -> Visual Basic を開く Visual Basic エディター .

  • ポップアップ・コード・ウィンドウで、メニューバーから インサート -> モジュール .

  • 今すぐ 次のコードをコピーしてください。 貼り付ける に入っています。 コードウィンドウ .
 Sub CopyPasteToAnotherSheet() Worksheets("Dataset").Range("B2:F9").Copy Worksheets("CopyPaste").Range("B2")終了 Sub 

これであなたのコードは実行できるようになりました。

このコード片は B2 から F9 までのレンジをコピーする から というシート データセット B2の貼り付け でのレンジ。 コピーペースト ネームドシート .

  • 次に、 を押します。 F5 をキーボードで入力するか、メニューバーから Run -> Run Sub/UserForm をクリックするだけでもOKです。 スモールプレイアイコン をクリックすると、マクロが実行されます。

次の画像を見てください。

最後に、すべてのデータを データセット のシートがコピーされるようになりました。 コピーペースト シートを作成します。

続きを読む Excel VBA: 範囲を別のワークブックにコピーする

2.Excelでアクティブなワークシートから別のワークシートにデータをコピー&ペーストするVBAマクロ

前節では、ワークシートの起動を必要としませんでした。 しかし、この節では、以下の方法を学びます。 アクティブなワークシートのデータをコピー&ペーストする .

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで 次のコードをコピーしてください。 貼り付ける それを
 Sub CopyPasteToAnotherActiveSheet() 'コピー元シートからデータをコピーする Sheets("Dataset").Range("B2:F9").Copy '貼り付け先シートをアクティブ化 Sheets("Paste").Activate '貼り付け先範囲を選択 Range("B2").Select '貼り付け先にアクティブシート.Paste Application.CutCopyMode = False End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 を実行すると、次のような結果が得られます。

今回は、すべてのデータを データセット のシートがコピーされるようになりました。 貼り付け シートで、データをコピーする前にアクティブにした。

続きを読む あるセルから別のシートにテキストをコピーするExcelの数式

3.VBAマクロでExcelのあるワークシートから別のワークシートへ1つのセルをコピーして貼り付ける

上記のセクションでは、あるワークシートから別のワークシートへデータの範囲をコピー&ペーストする方法を学びました。 次は、次の方法を学びます。 がある場合はコピー&ペーストしてください。 一纏まりのデータ をExcelのスプレッドシートに入力します。

次の画像を見てください。 レンジ シートは1つの値のみから構成されています。

どのようにすればいいのかを見ていきます。 このセルをコピーして別のシートに貼り付ける をエクセルで表示します。 ブイビーエー .

ステップス

  • 上記のように、オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで 次のコードをコピーしてください。 貼り付ける
 Sub CopyPasteSingleRangeToAnotherSheet() Worksheets("Range").Range("B4").Copy Worksheets("CopyRange").Range("B2") End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードに注目すると、次のような画像が表示されます。

そのたった一つのデータ" このセルをコピーする " である。 セルB4 において データセット のシートがコピーされるようになりました。 CopyRange シートイン セルB2 .

続きを読む 値のみをコピー先にコピーするExcel VBA(マクロ、UDF、UserForm)

4.ExcelマクロのPasteSpecialメソッドでコピーしたデータをあるワークシートから別のワークシートに貼り付ける

することができます。 あるワークシートからデータをコピーし、それらをペーストする。 を様々な方法で使用することができます。 ペーストスペシャル を用いた方法 ブイビーエー そのための手順を以下に示します。

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyPasteSpecial() Worksheets("Dataset").Range("B2:F9").Copy Worksheets("PasteSpecial").Range("B2").PasteSpecial End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードの一部です。

上の写真を見てください。 のデータです。 データセット のシートが転送されるようになりました。 ペーストスペシャル シートをExcelで作成します。

続きを読む VBA Paste SpecialでExcelの値や書式をコピーする(9例)

5.エクセルで最終セル以下のデータをワークシートから別のワークシートにコピー&ペーストするマクロ

にはすでにいくつかのデータがあります。 データセット という名前の別のシートに、新しいデータが格納されています。 ラストセル .

ここでやりたいことは、次の通りです。 コピー専用データ(セルB5~F9) から データセット シートと 貼り付ける 内の人 下段のセル このうち ラストセル シートを使用します。

ステップス

  • まず、オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2つ目は 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyPasteBelowTheLastCell() '変数の設定 Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'ソースシートとデスティネーションシートの変数の設定 Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Last Cell") 'B 列のデータに基づいてソースシートで最後に使用した行を検索 iSourceLastRow = wsSource.Cells(wsSource.Rows.Count.Low) 'D 列のデータがソースシートで使用されているか確認 'ソースシートからデスティネーションシートを検索 'FTP の設定 'D セットの設定 .ソースシートで使用するデスティネーションシートを設定 .コピー元シートに変数をセット .ソースシートで使用するディスクシートを指定 .FTP を実行 .FTP を実行 ..,iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Row 'B列のデータを基に、コピー先シートの最初の空白行を検索 'Offset propertyはコピーしたデータを1行下に移動するためのプロパティ iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'ソースからデータをコピーして、ペースト先に貼り付け wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B" & iTargetLastRow) End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 下の画像を見てください。

ここでは のデータを抜粋しました。 データセット シート は今 の最後のセルの下にコピーされます。 ラストセル シート をExcelで表示します。

続きを読む エクセルで値をコピー&ペーストする公式(5例)

6.ワークシートをクリアしてから別のワークシートにコピー&ペーストするVBAマクロ

既存のシートに間違ったデータが入っていて、そこにある本来のデータを抽出したい場合はどうすればいいのでしょうか?

次の画像を見てください。 からデータを消去します。 クリアレンジ シートのデータをここに保存します。 データセット VBAでシート のコードになります。

ステップス

  • まず、オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2つ目は 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub ClearAndCopyPasteData() '変数の設定 Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'ソースシートとデスティネーションシートの変数の設定 Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Clear Range") 'B 列のデータに基づいてソースシートの最後の使用行を検索 iSourceLastRow = wsSource.Cells(wsSource.Rows.Count.Low)' 'ソースシートのデータに基づいて、ソースシートで最後の使用行を検索します。iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Row 'B列のデータを元に、コピー先シートの最初の空行を探す 'Offset propertyはコピーしたデータを1行下に移動するもの iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'コピー先の範囲からデータを消去 wsTarget.Range("B5:F9" & iTargetLastRow).ClearContents 'コピー元からコピー先にデータを貼り込む。wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B5") End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 次の画像を見てください。

の前データは クリアレンジ シートのデータに置き換わりました。 データセット シートを使用します。

続きを読む あるワークブックから別のワークブックに条件に基づいてデータをコピーするマクロ

7.Range.Copy関数でワークシートのデータをコピーして別のワークシートに貼り付けるマクロ

では、その学びを ブイビーエー 掟を守る ワークシートから別のワークシートへのデータのコピー&ペースト とのことです。 レンジ.コピー 関数を使用します。

ステップス

  • まず、オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2つ目は 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyWithRangeCopyFunction() '変数の設定 Dim wsSource As Worksheet Dim wsTarget As Worksheet 'コピー元とコピー先のシートに変数を設定 Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Copy Range") ' ソースからデータをコピーしてコピー先へ貼り付け Call wsSource.Range("B2:F9").Copy(wsTarget.Range("B2")) End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードと次の画像を見てください。

のデータの複製に成功しました。 データセット のシートがあります。 コピー範囲 とのシートがあります。 レンジ.コピー 関数を使用します。

続きを読む セルの値を別のセルにコピーするExcelの計算式

類似の読み物

  • 条件に基づいて行を別のワークシートにコピーするExcel VBA
  • VBAを使用してExcelで書式なしの値のみを貼り付ける
  • エクセルで可視セルだけをコピー&ペーストする方法(3つの簡単な方法)
  • Excelでコピー&ペーストがうまくいかない(9つの理由と解決策)
  • マクロを使用してExcelで複数の行をコピーする方法(4つの例)

8.USEDRANGEプロパティを使って、あるワークシートから別のワークシートへデータを複製するマクロコードの実装

を今回学びます。 ブイビーエー 掟を守る ワークシートから別のワークシートへのデータのコピー&ペースト とのことです。 UsedRange 属性を使用することができます。

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyWithUsedRange() '変数の設定 Dim wsSource As Worksheet Dim wsTarget As Worksheet 'コピー元とコピー先のシートに変数を設定 Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("UsedRange") 'ソースからデータをコピーして、ペースト先に貼り付ける Call wsSource.UsedRange.Copy(wsTarget.Cells(2, 2)) End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードの一部です。

上の図にあるように、うまくデータをコピー&ペーストして データセット のシートがあります。 UsedRange とのシートがあります。 USEDRANGE プロパティを使用します。

続きを読む エクセルで複数のセルに同じ値をコピーする方法(4つの方法)

9.Excelで選択したデータをあるシートから別のシートにコピー&ペーストするVBAマクロ

することができます。 あるワークシートから別のワークシートへ、選択した一部のデータのみをコピー&ペーストする。 をもって ブイビーエー そのための手順を以下に示します。

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyPasteSelectedData() '変数設定 Dim wsSource As Worksheet Dim wsTarget As Worksheet 'コピー元とコピー先のシートに変数設定 Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Paste Selected") ' コピー元のデータ wsSource.Range("B4:F7").Copy ' 貼付先のデータ call wsTarget.Range("B2").PasteSpecial(Paste:=xlPasteValues) End Sub 

これであなたのコードは実行できるようになりました。

このコードで B4からF7までのRangeのみをコピーする。 から データセット シートと B2の貼り付け でのレンジ。 選択部分を貼り付ける ネームドシート .

  • 次のページ 実行 このコード

最終的には、その中から選択したデータのみ データセット シートが正常にコピーされ、貼り付けられます。 選択部分を貼り付け シートを作成します。

続きを読む ExcelでVBAのPasteSpecialを適用し、ソースの書式を維持する方法

10.あるワークシートのデータを最初の空白行で別のワークシートに複製するマクロコード

ここでは、以下の方法を確認します。 コピーデータ から データセット シートと 貼り付ける のものがあります。 最初の空白のセルが別のワークシートにある をエクセルで表示します。 ブイビーエー .

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub FirstBlankCell() Range("B2:F9", Range("B" & Rows.Count).End(xlUp)).Copy Sheet13.Range("A65536").End(xlUp)エンドサブ 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードの塊は

上の画像でご覧ください。 シート13 が真っ白になり、その結果、実行されたコードは、コピーしたデータを データセット のシートは、まさに だいいちのでんち において シート13 シートをExcelで作成します。

続きを読む Excel VBAで値をコピーして次の空白行に貼り付ける(3例)

11.オートフィルターのデータをExcelのシートから別のシートにコピー&ペーストするVBAを埋め込む

できること ソースデータセットにフィルタをかけ、フィルタをかけたデータのみを別のワークシートにコピー&ペーストする。 この記事で、その方法を順を追って学びましょう。 ブイビーエー .

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Option Explicit Sub AutoFilter() Range("B4:B101").AutoFilter 1, "Dean" Range("B4:F9").Copy Sheet17.Range("B" & Rows.Count).End(xlUp)(2) Range("B4").AutoFilter End Sub. 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードでは、" "が付いている行だけが ディーン 「と入力すると、フィルタリングされ、別のシートにコピーされます。

上の画像に注目してください。 フィルタリングされたデータのみ " ディーン " より引用しました。 B コラム がコピーされ、貼り付けられるようになりました。 シート15 シートを使用します。

続きを読む VBAを使ったエクセルでのコピー&ペーストの方法(7つの方法)

類似の読み物

  • Excel VBAで可視行をオートフィルタリングしてコピーする方法
  • エクセルで一意な値を別のワークシートにコピーする(5つの方法)
  • Excelで結合されたセルとフィルタリングされたセルをコピーする方法(4つの方法)
  • ランタイムエラー1004:RangeクラスのPasteSpecialメソッドの失敗
  • Excelでリンクと転置を貼り付ける方法(8つの簡単な方法)

12.上の範囲からコピーした数式を維持したまま、下の範囲に行を貼り付ける

をしたいとき 値をコピーして、その中に数式を保持する で貼り付けながら、別の行に貼り付けます。 ブイビーエー を使えば、簡単にタスクを実行することができます。

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub PasteRowWithFormulaFromAbove() Rows(Range("B" & Rows.Count).End(xlUp).Row).Copy Rows(Range("B" & Rows.Count).End(xlUp).Row + 1).Insert xlDown End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコードと下の画像を見てください。

があります。 最後の行はそのままコピーされます をその隣の列に表示します。

続きを読む Excelでデータをあるセルから別のセルに自動でコピーする方法

13.VBAで、あるシートから、開いているが保存していない別のワークブックの別のシートにデータを複製する

この例のワークブックの名前に注目してください。 ソースワークブック のデータをコピーします。 データセット という名前の別のワークブックにある別のワークシートに貼り付けます。 デスティネーションワークブック 即ち 未保存 .

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyOneFromAnotherNotSaved() Workbooks("コピー元ワークブック").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("コピー先ワークブック").Worksheets("Sheet1").Range("B2") End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコード

のデータです。 データセット のシートがあります。 ソースワークブック がコピーされるようになりました。 シート1 のシートがあります。 デスティネーションワークブック .

続きを読む Excel VBA:セルの値をコピーして別のセルに貼り付ける

14.あるシートのデータを、開いて保存している別のワークブックの別のシートに再現するマクロ

今回、私たちは データをコピーする から データセット のシートがあります。 ソースワークブック 貼り付ける に入っています。 シート2 のワークシートがあります。 デスティネーションワークブック .しかし、今、その ワークブックが開かれ、保存されている .

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyOneFromAnotherSaved() Workbooks("Source Workbook.xlsm").Worksheets("Dataset").Range("B2:F9").Copy _ Workbooks("Destination Workbook.xlsx").Worksheets("Sheet2").Range("B2") End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコード

のデータです。 データセット のシートがあります。 ソースワークブック がコピーされるようになりました。 シート2 のシートがあります。 デスティネーションワークブック そして、この名前を見てください。 ワークブックが保存された 今度こそ

続きを読む Excelで書式を変更せずにコピー&ペーストする方法

15.VBAを使用して、あるワークシートのデータを、閉じた別のワークブックの別のワークシートにコピー&ペーストする

前の2つのセクションでは、開いている別のワークブックで、あるワークシートから別のワークシートへデータをコピー&ペーストする方法を学びました。 このセクションでは、次のようなコードを学びます。 ワークブックを閉じた状態でのデータのコピー&ペースト .

ステップス

  • まず、以下を開きます。 Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • 2番目。 次のコードをコピーしてください。 貼り付ける をコードウィンドウに入力します。
 Sub CopyOneFromAnotherClosed() 'システム上に保存されたワークブックを開くには 'システム上のファイルの場所に応じて以下のパスを変更します Workbooks.Open "D:\ExcelWIKIExcel FolderDestination Workbook.xlsx" 'Source Workbookというワークブックからデータをコピーし 'Destination Workbookというターゲットワークブックに貼り付ける Workbooks("Source")Workbook").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("Destination Workbook").Worksheets("Sheet3").Range("B2") '保存後に対象のワークブックを閉じる Workbooks("Destination Workbook").Close SaveChanges:=True End Sub 

これであなたのコードは実行できるようになりました。

  • 次のページ 実行 このコード

今回、ワークブックを閉じたにもかかわらず、コード実行後に データセット のシートがあります。 ソースワークブック がコピーされるようになりました。 シート3 のシートがあります。 デスティネーションワークブック .

続きを読む Excel VBAで他のワークブックから開かずにデータをコピーする

覚えておきたいこと

  • 方法1~14では、ワークブックが開いている必要があります。 これらのメソッドで示されるマクロを実行する際には、実行元と実行先のワークブックを開いておくことを忘れないでください。
  • あなたの ワークブックが保存されている場合、ファイル名とファイルタイプを記述します。 を指定すると ワークブックが保存されない場合は、ファイル名のみを書き込む。 のように、ファイルの種類を指定しないでください。 ワークブックが保存される と書いてから、" 目的地 xlsx "ですが、もし ワークブックが保存されない と書いてから、" 目的地 " をコードの中に入れてください。

結論

この記事では、以下の方法を紹介しました。 ワークシートから別のワークシートへのデータのコピー&ペースト をエクセルで表示します。 ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。