PeaceJet

証券会社で証券外務員をやりながら、マーケティングやデータ分析・UI/UX改善などを行っています。

ワークシートごとにCSVファイルを作成する。後編【エクセルマクロ・VB・VBA】

前編では、ワークシートごとにCSVファイルを作成する方法として、
プロシージャを作りました。

今回は、後編としてプロシージャの使い方を見ていきます。

プロシージャ呼ぶための親プロシージャを作成することで、
使用することができます。

前編で作成したプロシージャは引数に シートネーム を入れるだけなので、難しくありません。

特手のシートを選んで、CSVファイルを作成する。

Sub まとめてCSV作成()

    'シートネームがSheet1やSheet2であれば、
    'ダブルクォーテーションマークで囲んで以下のように書きます。
    Call CSV作成("Sheet1")
    Call CSV作成("Sheet2")

    '特定の名前に変えてあっても、上記と同様に書きます。
    Call CSV作成("メールリスト")
    Call CSV作成("見込みリスト")
    
End Sub

ブックにあるシートすべてをCSVファイルにする。

Sub まとめてCSV作成2()

    Dim i, WorksheetCount As Integer
    
    'ActiveWorkbookを使用していますので、適宜、変更してください。
    WorksheetCount = ActiveWorkbook.Sheets.Count
    
    For i = 1 To WorksheetCount
        
        Call CSV作成(Worksheets(i).Name)
    
    Next i
    
End Sub

上記をForEach文で書いてみましょう。

Sub まとめてCSV作成3()

    Dim Target As Worksheet
    
    For Each Target In Worksheets
    
        Call CSV作成(Target.Name)
        
    Next Target
    
End Sub