Excel VBA セルに書いてある内容をテキストファイルへ書き出す

A列のデータをテキストファイルへ書き出すマクロです。

サンプルコード

Sub Output_TextFile()
    Dim Fs As New FileSystemObject
    Dim Ts As TextStream
    
    '処理するシート指定
    Dim Sh As Worksheet
    Set Sh = Sheets("test")
    
    '出力先フォルダ指定(実行エクセルファイルと同じフォルダ)
    Dim WorkPath As String
    WorkPath = ThisWorkbook.Path & "\"
   
    '出力するファイル指定
    Set Ts = Fs.CreateTextFile(WorkPath & "test.txt")
   
    Dim MaxRow As Long
    With Sh
        MaxRow = .Cells.SpecialCells(xlCellTypeLastCell).Row
        For i = 1 To MaxRow
            Ts.WriteLine (.Cells(i, 1))
        Next i
    End With
    
    Ts.Close
    Set Ts = Nothing
	
    '終了処理
    Set Sh = Nothing
    Set Fs = Nothing
End Sub

主な処理内容

  1. 書き込むテキストファイルを開きます。(14行目)
  2. A列(1列目)のデータが入力されている最終行を取得します。(18行目)
  3. A列のデータを1行ずつテキストファイルへ書き込みます。(20行目)
  4. 書き込んでいるテキストファイルを閉じます。(24行目)
  5. 25行目以降で終了処理を行ってます。

関数とかプロパティのメモ

ThisWorkbook.Path:エクセルファイルのフォルダパスを取得

SpecialCells(xlCellTypeLastCell):エクセルの最終セルの位置を取得。
SpecialCells(xlCellTypeLastCell).row:最終行数取得
SpecialCells(xlCellTypeLastCell).Column:最終列数取得

注意事項

このコードを動作させるにはツール→参照設定で「Miccrosoft Scripting Runtime」にチェックを入れてください。