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
主な処理内容
- 書き込むテキストファイルを開きます。(14行目)
- A列(1列目)のデータが入力されている最終行を取得します。(18行目)
- A列のデータを1行ずつテキストファイルへ書き込みます。(20行目)
- 書き込んでいるテキストファイルを閉じます。(24行目)
- 25行目以降で終了処理を行ってます。
関数とかプロパティのメモ
ThisWorkbook.Path:エクセルファイルのフォルダパスを取得
SpecialCells(xlCellTypeLastCell):エクセルの最終セルの位置を取得。
SpecialCells(xlCellTypeLastCell).row:最終行数取得
SpecialCells(xlCellTypeLastCell).Column:最終列数取得
注意事項
このコードを動作させるにはツール→参照設定で「Miccrosoft Scripting Runtime」にチェックを入れてください。