A列のデータをテキストファイルへ書き出すマクロです。
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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」にチェックを入れてください。