以下のようなEXCELにてフラグ列が「■」である場合のみcsvファイルへ「値A,値B」と記述したい。
・#1 ⇒ VBA上でのファイルナンバー。#のあとに任意の名前でよい
・Open OutFile For Append As #1 ⇒ Appendオプションは追記の意味。(つけないと最後の1行のみしか出力されない)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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ファイルが出力される。