【VBA】別ファイルのシートコピー

別のExcel ファイルにあるシートをコピーしてくるマクロ。

 

コピー時に取得するファイルのパス・シート名はハードコーディングなので改良の必要はあるがとりあえず動くもの↓

 

Sub SheetCopy()

'変数としては以下の通り①マクロがあるExcelファイル、②コピーしたいシートがあるExcel ファイル、③②のファイルが格納されているパスの3つ

 

  Dim macroWb as WokSheet

  Dim importWb as WorkSheet

  Dim importPath as String

 

'コピー先のシート=macroWbと設定

  Set macroWb = ThisWorkbook

  Set importPaht = "[コピー対象のExcelを格納しているパス]"

 

'コピー対象のファイルを開く

  Set importWb = Workbooks.Open(importPath)

  importWb.WorkSheets("[コピー対象のシート名]").Copy After:=macroWb.WorkSheets("[どのシートの後にコピーするか"])

  importWb.Close

Sub End

 

コード

 

次回以降やってみたいこと:

  • Excelファイル以外のファイルからの取得
  • importするファイル名・シート名は変数化
  • 1シートだけでなく全シートコピー