エクセル1行をテキスト1ファイルに

ほんとによく働く。感心する。

調査票の自由記述、電子化されたデータを見るのと、手書きのものを読むの、疲れ方が全然違いますね...。もちろん後者の方が疲れるのですが、それは読みにくいからという理由だけではなくて、伝わってくるものが多いんですね。扱われている内容も内容ですし、忙しい中でわざわざ自由記述欄に書きこもうと思われるような言葉なので、まあ、感じること考えることたくさんあります。

さて、今の作業はだいぶテキストの量が多いので、WeftQDAを使ってみようと企んでいます。初めての実戦での使用です。

データは.csvで手元にあるのですがこのままだと読み込めないので.txtにします。ずばっとコピペしてもいいのですが、「●●への言及が●●件あった。」なんて感じで数えたいので、1ケース1ファイルにしておくほうが便利そうです。500件ほどあるテキストをいちいちコピペして「名前をつけて保存」なんてやってられないのでググります。

エクセルに入力済みの連続したデータを1行単位で以下のような内容でテキストファイルを作成し、かつテキストファイル名を、セルに入力されている文字を使って保存するマクロを作りたいのですが、どのようにしたら良いのでしょうか?よろしくお願いします。(1行単位のデータをテキストファイルに保存するマクロ


良い質問です。そして良い回答です。自分用にメモ。

Sub ColumnOut2Text()
Dim i As Long
Dim j As Long
Dim Fno As Integer
Dim OutColumn As String
  Const myPath As String = "C:\txt\"
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
 Fno = FreeFile()
 Open myPath & .Cells(i, 1).Value & ".txt" For Output As #Fno
 For j = 1 To .Cells(1, Columns.Count).End(xlToLeft).Column
  OutColumn = .Cells(1, j).Value & Chr(13) & .Cells(i, j).Value & Chr(13)
  Print #Fno, OutColumn
 Next j
 OutColumn = Empty
 Close #Fno
Next i
End With
 Beep
End Sub


500行のエクセルが500個のテキストファイルに1秒で。すばらしい。でこの作業の前に、A列をID、B列をテキスト、C列を(年齢・性)みたいな形にしとくと、そのまま報告書に引用できる形で扱えるので便利です。自分用のメモでした。

Popular posts from this blog

36時間の断食やってみた

72時間の断食やってみた