【VBA】指定した範囲をCSVファイルへ出力する

VBAを使用して
 ・指定した範囲を
 ・CSVファイルへ出力する
方法を記載します!

VBAコード

ここでは例として、
 ・シート「sample」のセル「B2」から続く一連の範囲
 ・デスクトップ配下へファイル「sample.csv」として出力
します。

Option Explicit

Sub sample()

    '出力するCSVファイル
    Const CSV_FILE As String = "C:\Users\user\Desktop\sample.csv"

    Dim targetRange As Range
    Dim wb As Workbook
    
    'CSVファイルへ出力する範囲を指定
    Set targetRange = Worksheets("sample").Range("B2").CurrentRegion
    
    '新規ブックを作成
    Set wb = Workbooks.Add
    
    '新規ブックへCSVファイルへ出力する範囲をコピー
    targetRange.Copy wb.Worksheets(1).Range("A1")
    
    '警告メッセージを非表示
    Application.DisplayAlerts = False
    
    'CSVファイルを出力
    wb.SaveAs Filename:=CSV_FILE, FileFormat:=xlCSV
    
    '警告メッセージを表示
    Application.DisplayAlerts = True
    
    '新規ブックを保存せずに閉じる
    wb.Close SaveChanges:=False

End Sub
処理の大まかな流れ
  1. 新規ブックを作成し出力する内容をコピペ
  2. CSVファイルを出力
  3. 新規ブックを閉じる

「Range(“B2”).CurrentRegion」により、セル「B2」から続く一連の範囲を取得できます。

出力前に「警告メッセージを非表示」にすることで、同名のCSVファイルがある場合は強制的に上書きします。

実行結果

指定した範囲をCSVファイルへ出力することが出来ました。

タイトルとURLをコピーしました