以下のような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ファイルが出力される。

<スポンサーリンク>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)