以下のようなEXCELにてフラグ列が「■」である場合のみcsvファイルへ「値A,値B」と記述したい。
・#1 ⇒ VBA上でのファイルナンバー。#のあとに任意の名前でよい
・Open OutFile For Append As #1 ⇒ Appendオプションは追記の意味。(つけないと最後の1行のみしか出力されない)
Sub CreateCsv()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
Dim OutFile As String
Dim i As Integer
i = 3
Do Until Cells(i, 1) = ""
If ws.Cells(i, 1).Value = "■" Then
OutFile = ActiveWorkbook.Path & "\out.csv"
Open OutFile For Append As #1
Print #1, ws.Cells(i, 2).Value & "," & ws.Cells(i, 3).Value
Close #1
End If
i = i + 1
Loop
MsgBox ("finish")
End Sub
実行すると、Excelファイルと同階層にcsvファイルが出力される。




