わたろぐ

仕事、読書、ガジェット、グルメ、写真、旅行など雑多な備忘

【Excel】【VBA】テキストデータを出力する

VBAでエクセルの内容を処理し、テキストデータとしてアウトプットする。

例として以下のようなエクセルのファイルをよういする。

これをA1:B10の範囲でCSVとしてアウトプットする。

Sub CSV_OUTPUT()

    fnsave = "d:\work\出力結果.txt" 'アウトプットの場所
    numff = FreeFile
    Open fnsave For Output As #numff
    
    temp = ""
    For i = 1 To 10
        '各セルをカンマ、改行文字を間に挟みながら、
        '一つの文字列として連結する
        temp = temp & Cells(i, 1) & "," Cells(i, 1) &char(13) & char(10)
    Next i

    '文字列をファイルに出力する。
    Print #numff, temp

    Close #numff
    
End Sub

出力結果は以下のようになる。

1,aaa
2,bbb
3,ccc
4,ddd
5,eee
6,fff
7,ggg
8,hhh
9,iii
10,jjj

今回は一つの文字列として最後に出力を行ったが、都度出力を行うやり方の方が分かりやすいかも。