当ページのリンクには一部広告が含まれています。
うさねこ気まぐれPG開発室

Excel VBA 別エクセルブックを開いてシートをVBA実行Bookにコピーする 

© UsaNekoSanpo
広告

広告

別エクセルブックを開いてシートをVBA実行Bookにコピー

うさこちゃん
うさこちゃん

このサンプルは別エクセルブックを開いてシートをVBA実行しているBookへのコピーのやり方です。
別Book(別エクセルファイル)シート👉VBAを実行してるBookにシートコピー

サンプルコード

うさこちゃん
うさこちゃん

サンプルコードでは最終のシートの後に追加しています。

    Dim ObjOpenBook       As Object
    Dim StrSheetName      As String
    Dim StrOpenFilePath   As String

    StrOpenFilePath = "C:\Data\データ.xlsx"

    'ファイルを開く
    Set ObjOpenBook = Workbooks.Open(StrOpenFilePath)
    
    'シートをコピー
    StrSheetName = ObjOpenBook.Worksheets(1).Name 'コピーするシートの指定
    ObjOpenBook.Worksheets(StrSheetName).Copy_
      After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
    
    ' -----------------------------------------------------------------
    ' - 処理
    ' -----------------------------------------------------------------
        
    'ファイル閉じる。
    Workbooks(ObjOpenBook.Name).Close

コピーシートの位置

  • Before 指定した位置の前にコピー
    Before:=ThisWorkbook.Worksheets(1)
  • After 指定した位置の後にコピー
    After:=ThisWorkbook.Worksheets(1)

*ThisWorkbook.Worksheets(1) 👉はシート名を指定することも可能です。

  • シート最後にコピー
    After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)


免責事項

本記事のサンプルプログラムは実行を保証するものではなく、利用に伴う結果について一切の責任を負いません。


執筆者:うさねこ