重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

質問させて頂きます。
よろしくお願い致します。

【やりたいこと】
エクセルの文章が600行あります。
この600行を1行ずつテキストに書き出し600個のテキストファイルを作成したいです。


【補足】
自分なりに調べて、全部の行を一括でcavに出力することは出来たのですが・・・
一行ずつとなるとVBAの知識が必要そうです・・・VBAの環境の用意はできているので
VBAのプログラムを教えていただけるとありがたいです<(_ _)>

今は、すべて手作業でやってます・・・助けて下さい;;


【PC環境等】
windows7 Excel2010

「【エクセルVBA】エクセルからテキストへ」の質問画像

A 回答 (4件)

Sub makeText()


Dim ans As Integer
Dim fileName As String
Dim i As Integer

fileName = ActiveWorkbook.Path & "\data"

i = 1
With ActiveSheet
Do While .Cells(i, 1).Value <> ""
Open (fileName & i & ".txt") For Output As #1
Print #1, .Cells(i, 1).Value
Close #1
i = i + 1
Loop
End With

MsgBox i - 1 & "個のファイルを書き出しました。"
End Sub

こちらを参考に作りました。
https://tonari-it.com/vba-txt-print/
    • good
    • 0
この回答へのお礼

助かりました

さっそくの回答ありがとうございます!
自分のお願いした通りのやりたいことができました!!

実行したら・・・デスクトップが爆発しました!?(汗)
デスクトップに600個のテキストができてしまったので、対象のファイルに保存する方法も
わかればありがたいです;;

お礼日時:2017/05/25 08:47

>600行あるxlsxを2行づつtxtに書き出し300txt作る方法も知りたいです。


>作成するファイルの名前は「data」だと助かります。

Do While .Cells(i, 1).Value <> ""
Open (fileName & i & ".data") For Output As #1
Print #1, .Cells(i, 1).Value
Print #1, .Cells(i+1, 1).Value
Close #1
i = i + 2
Loop
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
こちらの内容で複数行のやりたい作業ができました。

ベストアンサーとさせて頂きたいのですが、
私が途中で元の質問とは違う質問をしてしまったので、
別の質問用の投稿をさせていただきました。

そちらの方に大変お手数ですが投稿していただけましたら、
ベストアンサーとさせていただきます。
よろしくお願い致します。

お礼日時:2017/05/25 10:04

デスクトップで作業されてしまいましたか。


説明を一言添え忘れました。すみません。
作業中のワークブックと同じ場所に保存されます。
新規フォルダ内で作業されると良いかと思います。
    • good
    • 0
この回答へのお礼

ありがとう

重ねての回答ありがとうございます。
完全にこちらの説明不足です。申し訳ありません。

ご回答頂いた方法で試した所、完璧に自分のやりたかった事ができました。
ありがとうございます!!ベストアンサーとさせていただきます。

ご迷惑でなければ、もしお時間があれば
複数行(2行以上)の指定方法を教えていただければ助かります。
 ※同じ質問者にて別の質問ですので、もう一つ質問を投稿させて頂きました。

本当に助かりました!ありがとうございました!!

お礼日時:2017/05/25 09:42

ちなみに、1行あたりの列数は決まっていますか?


複数列がある場合はテキストファイルの形式は CSV が良いのでしょうか?
作成するファイルの名前はどうすれば良いのでしょうか?
    • good
    • 0
この回答へのお礼

質問ありがとうございます。
説明が不足していて申し訳ございません。

今回の質問では、xlsx600行→600txtなので1行につき1textで合計600txtを希望したのですが
600行あるxlsxを2行づつtxtに書き出し300txt作る方法も知りたいです。

回答者No.1様の回答で600txtの書き出しに成功したのですが保存ファイル指定していなかったので
デスクトップがいっぱいになりました!(完全に自分が説明してなかったので悪いです。)

テキストファイルの形式はtxtが希望ですがcsvでも大丈夫でございます。
作成するファイルの名前は「data」だと助かります。
よろしくお願いいたします。

お礼日時:2017/05/25 08:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!