【ExcelVBA】Excelシートデータを別Excelファイルに出力する方法

10月 28, 2022

ExcelVBAでシートデータを別のExcelファイルに出力したい人
とにかく自動的にExcelファイルデータを出力したい人
業務効率化でExcelVBAでのExcelファイル作成方法を学びたい人向けに書いています。

 

本記事の内容

ExcelVBAでExcelシートデータを自動的に別Excelファイルに出力する方法を紹介します。

・ExcelVBAでExcelシートデータを別Excelファイルに出力する方法
・ExcelVBAファイルの同階層のフォルダに出力フォルダを作成してExcelシートデータを出力する方法

 

業務効率化のためにExcel作業を自動化したいと思ったことはありませんか?
定例的に作成しているファイルを必要な部分だけ取り出して業務対象者に送ったり、決められた場所に保存することはありませんか?

ExcelVBAファイルの同階層に出力フォルダを作成してシートデータを別Excelファイルに出力する方法を紹介します。

 

ExcelVBAシートデータを別Excelファイルに出力する方法

以下がExcelVBAシートデータを別Excelファイルに出力するプログラムです。

  1. '*****************************************
  2. '* Excelシートデータファイル出力
  3. '*****************************************
  4. Sub SHEET_DATA_FILE_OUT()
  5.     Dim Crt_Sheet_File As String 'Excel出力ファイルパス
  6.     Dim SaveDir As String 'Excel出力先フォルダ
  7.     
  8.     'Excel出力先フォルダ
  9.     SaveDir = ThisWorkbook.Path & "\出力"
  10.     
  11.     'フォルダがなければ作成する
  12.     If Dir(SaveDir, vbDirectory) = "" Then
  13.         MkDir SaveDir
  14.     End If
  15.     
  16.     'Excel出力先ファイルパス
  17.     Crt_Sheet_File = SaveDir & "\出力Excelファイル名.xlsx"
  18.     
  19.     '前回ファイル削除
  20.     If Dir(Crt_Sheet_File) <> "" Then
  21.         Kill Crt_Sheet_File
  22.     End If
  23.     
  24.     '出力Excelファイル作成
  25.     ThisWorkbook.Sheets(Array("シート名")).Copy
  26.     ActiveWorkbook.SaveAs Crt_Sheet_File
  27.     ActiveWorkbook.Close
  28. End Sub


10行目:Excelファイルの出力先フォルダを設定する
18行目:Excelファイルの出力先ファイルパス(ディレクトリ+ファイル名)を設定する
26行目:出力シートを設定する  ※カンマ(,)区切りでシート名を設定すると複数出力できます
 

 

まとめ

ExcelVBAファイルの同階層に出力フォルダを作成してシートデータを別Excelファイルに出力する方法を紹介しました。
ExcelVBAで業務効率化を行う際に意外と重宝する機能だと思います。
業務システムへのアップロードファイルの作成やRPAの入力データファイル作成等、
ExcelVBAで自動的にファイルを作成する際に必要になる機能だと思います。
業務効率化でExcelファイル作成する際に試してみてください。
最後までご覧いただき、ありがとうございました。

 

【ExcelVBA】ExcelシートデータをCSVファイルに出力する方法
【ExcelVBA】ExcelシートをPDF出力する方法(ExportAsFixedFormat)
も紹介していますので、もしよろしければ御覧ください。

 

¥891 (2023/02/02 12:04時点 | Amazon調べ)
Microsoft Public Affiliate Program (JP)(マイクロソフトアフィリエイトプログラム)