動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2507(ビルド19029.20184クイック実行)
アクティブシートの一部を削除してからCSVファイルとして保存するという処理を、最近よく行っています。
そのためのExcelマクロを作成したのでご紹介しておきます。
[スポンサードリンク]
アクティブシートの一部を削除してCSV出力するサンプルマクロ
Cドライブにtempフォルダーがある環境で、以下のExcelマクロを実行すると、アクティブシートが「yyyymmdd-hhmmss.csv」形式のファイル名で、Cドライブtempフォルダーに作成されます。
Sub アクティブシートの5行目までを削除してCSVとして保存する()
Const FOL_PATH = "C:\temp\"
Dim ws As Worksheet
Set ws = ActiveSheet
Dim bk_tmp As Workbook
Set bk_tmp = Workbooks.Add
ws.Copy Before:=bk_tmp.Sheets(1)
bk_tmp.Sheets(1).Rows("1:5").Delete Shift:=xlShiftUp
Dim csv_name As String
csv_name = Format(Now, "yyyymmdd-hhmmss") & ".csv"
bk_tmp.SaveAs FOL_PATH & csv_name, FileFormat:=xlCSV
bk_tmp.Close SaveChanges:=False
End Sub
Const FOL_PATH = "C:\temp\"
Dim ws As Worksheet
Set ws = ActiveSheet
Dim bk_tmp As Workbook
Set bk_tmp = Workbooks.Add
ws.Copy Before:=bk_tmp.Sheets(1)
bk_tmp.Sheets(1).Rows("1:5").Delete Shift:=xlShiftUp
Dim csv_name As String
csv_name = Format(Now, "yyyymmdd-hhmmss") & ".csv"
bk_tmp.SaveAs FOL_PATH & csv_name, FileFormat:=xlCSV
bk_tmp.Close SaveChanges:=False
End Sub
サンプルマクロで行っている処理
上記のマクロでは、以下の処理を行っています。
アクティブシートへの参照を変数wsで操作できるようにしておいてから、
Dim ws As Worksheet Set ws = ActiveSheet
ブックを新規に作成して、変数bk_tmpへの代入を行っています。
Dim bk_tmp As Workbook Set bk_tmp = Workbooks.Add
アクティブシートを、作成したばかりのブックの先頭に複製して、
ws.Copy Before:=bk_tmp.Sheets(1)
1行目から5行目を削除しています。
bk_tmp.Sheets(1).Rows("1:5").Delete Shift:=xlShiftUp
「yyyymmdd-hhmmss.csv」形式のファイル名を作成しておいてから、
Dim csv_name As String csv_name = Format(Now, "yyyymmdd-hhmmss") & ".csv"
CSVファイルとして保存しておいてから、
bk_tmp.SaveAs FOL_PATH & csv_name, FileFormat:=xlCSV
bk_tmpブックを保存せずに閉じています。
bk_tmp.Close SaveChanges:=False
[スポンサードリンク]
- Older:Excel VBAでセル内に画像を挿入する
Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » アクティブシートの一部を削除してCSV出力するExcelマクロ