ExcelVBA 既存シートを別ブックにコピーする方法|サンプルコード解説

 

Excel VBA 既存のワークシートを他のExcelブック(既存のブックや新しいブック)にコピーする操作。特定のシートだけを別のブックに転送し、データの共有や分析が容易になります。具体的な使い方や、注意点やサンプルコードを紹介します。

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

命令の意味は分かるけど、何に使うのか分からないと感じている方へ。
30万人が読んだ記事をもとに再構成。

データ分割を題材に、実務の流れの中で理解できる講座です。

↓↓↓↓↓
自分で作れるレベルへ(こちらから閲覧できます)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

Excel VBAで別ブックにシートをコピーする用途とメリット

 

以下のようなシーンで利用されます。

 

・各部門から集まったデータをそれぞれのExcelファイルから取りまとめる際に、個々のシートを一つのファイルにコピーして統合する。

・標準テンプレートのシートをコピーし、他のファイルに組み込む

・特定のデータを他のブックにコピーして、元データを保護しながら分析を行う。

 

Excel VBA シートコピーの手順と注意点|別ブック

使い方

・コピー元シートの指定: コピーする元のシートを指定します。

・コピー先ブックの指定: 既存の別ブック、もしくは新しいブックにシートをコピーします。

 

ポイント

1.シート名の重複
コピー先に同じ名前のシートがすでに存在する場合、名前の重複エラーが発生するため、注意が必要です。

2.フォーマットとデータの整合性
コピー先のブックでフォーマットやデータの表示が変わる場合があるため、必要に応じて再確認します。

3.リンクと参照
コピーしたシート内で他のシートやファイルへのリンクがある場合、コピー先でも正しくリンクが維持されるか確認することが必要です。

 

Excel VBAで別ブックにシートをコピーするコード例

 

・Set wsSource = ThisWorkbook.Sheets("Sheet1"): コピー元となるシート(この例では「Sheet1」)を指定します。

・Workbooks.Open: コピー先の既存のブックを指定のファイルパスで開きます。ここで targetFilePath にはコピー先ブックのパスを指定します。

・wsSource.Copy After:=wbTarget.Sheets(wbTarget.Sheets.Count): シートをコピーします。コピー先のブックの最後にシートを追加しています。

・wbTarget.Save: コピー先のブックを保存します。

・wbTarget.Close: ブックを閉じて作業完了です。

 

ご好評をいただいております。下記コンテンツは2026年6月末まで期間限定価格となっております。はじめてご利用の方は、事前にこちらを確認ください。 (2026年6月末までの通常価格400円⇒半額のプレミアム価格: 200円(税込)でご利用いただけます)

有名なブログサービス「はてなブログ」も、コンテンツ販売サービスの「codoc」と連携しています。安心してご利用ください。※vba-navサイトでユーザー様のクレジットなどの決済情報は一切管理していません。

また、オンライン購入する際、個人情報の入力に不安を感じる人も、安心して購入できるコンビニ決済が使えます。