プロが教えるわが家の防犯対策術!

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

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

保存するtxt名=行の数だと助かります。 例 1.txt ~ 300.txt

【PC環境等】
windows7 Excel2010

A 回答 (2件)

https://oshiete.goo.ne.jp/qa/9769452.html
の回答を参考にして作りました。

Sub makeText2()
Dim ans As Integer
Dim fileName As String
Dim i, fileNo As Integer

fileName = ActiveWorkbook.Path & "\data"

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

MsgBox fileNo - 1 & "個のファイルを書き出しました。"
End Sub
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
このとおりの式で完璧にできました!!

もう一つ質問なのですが、作業によって対象の行が増えた場合
例.2行づつ→3行~5行等

数式の変更が必要なところは、どちらになりますでしょうか?
色々いじってみましたが・・・2行づつにしかならないので;;
お手数ですが教えて下さい。

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

3行単位で出力の場合



Print #1, .Cells(i, 1).Value
Print #1, .Cells(i + 1, 1).Value
Print #1, .Cells(i + 2, 1).Value ・・・・①を追加
Close #1
i = i + 3 ・・・・②この行を2→3に変更


4行単位で出力の場合

Print #1, .Cells(i, 1).Value
Print #1, .Cells(i + 1, 1).Value
Print #1, .Cells(i + 2, 1).Value ・・・・①を追加
Print #1, .Cells(i + 3, 1).Value ・・・・②を追加
Close #1
i = i + 4 ・・・・③この行を2→4に変更

のようにしてください。
    • good
    • 0
この回答へのお礼

神様!
ご回答ありがとうございます!!
できました!

法則がわかりましたので、これを元に自分での勉強も頑張ります!
本当にありがとうございます!!

お礼日時:2017/05/25 12:14

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