【ExcelVBA】Excelシートデータを別Excelファイルに出力する方法《VBAファイルの同階層フォルダに出力》
ExcelVBAでシートデータを別のExcelファイルに出力したい人
とにかく自動的にExcelファイルデータを出力したい人
業務効率化でExcelVBAでのExcelファイル作成方法を学びたい人向けに書いています。
本記事の内容
ExcelVBAでExcelシートデータを自動的に別Excelファイルに出力する方法を紹介します。
・ExcelVBAファイルの同階層のフォルダに出力フォルダを作成してExcelシートデータを出力する方法
業務効率化のためにExcel作業を自動化したいと思ったことはありませんか?
定例的に作成しているファイルを必要な部分だけ取り出して業務対象者に送ったり、決められた場所に保存することはありませんか?
ExcelVBAファイルの同階層に出力フォルダを作成してシートデータを別Excelファイルに出力する方法を紹介します。
ExcelVBAシートデータを別Excelファイルに出力する方法
以下がExcelVBAシートデータを別Excelファイルに出力するプログラムです。
- '*****************************************
- '* Excelシートデータファイル出力
- '*****************************************
- Sub SHEET_DATA_FILE_OUT()
- Dim Crt_Sheet_File As String 'Excel出力ファイルパス
- Dim SaveDir As String 'Excel出力先フォルダ
-
- 'Excel出力先フォルダ
- SaveDir = ThisWorkbook.Path & "\出力"
-
- 'フォルダがなければ作成する
- If Dir(SaveDir, vbDirectory) = "" Then
- MkDir SaveDir
- End If
-
- 'Excel出力先ファイルパス
- Crt_Sheet_File = SaveDir & "\出力Excelファイル名.xlsx"
-
- '前回ファイル削除
- If Dir(Crt_Sheet_File) <> "" Then
- Kill Crt_Sheet_File
- End If
-
- '出力Excelファイル作成
- ThisWorkbook.Sheets(Array("シート名")).Copy
- ActiveWorkbook.SaveAs Crt_Sheet_File
- ActiveWorkbook.Close
- End Sub
10行目:Excelファイルの出力先フォルダを設定する
18行目:Excelファイルの出力先ファイルパス(ディレクトリ+ファイル名)を設定する
26行目:出力シートを設定する ※カンマ(,)区切りでシート名を設定すると複数出力できます
まとめ
ExcelVBAファイルの同階層に出力フォルダを作成してシートデータを別Excelファイルに出力する方法を紹介しました。
ExcelVBAで業務効率化を行う際に意外と重宝する機能だと思います。
業務システムへのアップロードファイルの作成やRPAの入力データファイル作成等、
ExcelVBAで自動的にファイルを作成する際に必要になる機能だと思います。
業務効率化でExcelファイル作成する際に試してみてください。
最後までご覧いただき、ありがとうございました。
「【ExcelVBA】ExcelシートデータをCSVファイルに出力する方法」
「【ExcelVBA】ExcelシートをPDF出力する方法(ExportAsFixedFormat)」
も紹介していますので、もしよろしければ御覧ください。
最近のコメント