カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

VBA Excelシートを別ファイルにコピー

この記事は最終更新日から1年以上経過しています。
'# Excel作成
Public Sub mkExcel_withInvoice()
On Error GoTo Exception

 Dim xl As Object
 Dim xl2 As Object
 Dim TempPath As String
 Dim Template As String
 Dim SavePath As String
 Dim FileName As String
 TempPath = "C:\"
 Template = TempPath & "雛型.xls"
 SavePath = Environ("USERPROFILE") & "\デスクトップ\"
 FileName = SavePath & "シートを別ファイルにコピー.xls"

 FileCopy Template, FileName

 Set xl = GetObject(FileName, "Excel.Sheet")
 xl.Parent.Windows(1).Visible = True

  Set xl2 = GetObject(TempPath & "雛型2.xls", "Excel.Sheet")
 xl2.Parent.Windows(1).Visible = True
 xl2.Worksheets("Sheet1").Copy after:=xl.Worksheets("Sheet1")
 With xl.Application
  'データ入力などが必要なときはプライマリで開いているExcelのシートを選択して操作
  .Worksheets("Sheet1").select
  .Range("A1").Value = "TEST"
  .Cells(1, 1).select
 End With

 xl.Save '保存
 'Excelの終了(アプリケーションの終了なので、複数ファイルを開いていても1度でよい)
 xl.Application.Quit

 'オブジェクト破棄
 Set xl = Nothing
 Set xl2 = Nothing

 MsgBox "保存しました。"

Exit Sub
Exception:

 MsgBox Err.Description
 xl.Save
 xl.Application.Quit

 Kill FileName

 Set xl = Nothing
 Set xl2 = Nothing

End Sub
この記事がお役に立ちましたらシェアお願いします
7,562 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です