こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルのセルをテキストファイル出力する方法教えてくれませんか。

初心者ですが、
どなたか、エクセルのセル1つを、
テキストファイル出力できる方法をご存知ですか?
詳細には、
エクセルファイルの列Aの内容がテキストファイル名で、
列Bの内容が本文であるテキストファイル出力を
約3000個、順次したいと考えています。

例えば、エクセルファイルに以下のようなデータを保持しているとします。
列A  列B
001  あいうえお
002  かきくけこ
003  さしすせそ

この場合、001.txtは本文が「あいうえお」、
002.txtは本文が「かきくけこ」、
003.txtは本文が「さしすせそ」というように、
エクセル1行についてテキストファイルを1つ作成したいと考えています。

このような処理を短時間で実施するのに適した方法をご存知の方がいらっしゃいましたらご教示いただければと思います。
どうぞよろしくお願いいたします。

投稿日時 - 2009-12-11 21:40:43

QNo.5515435

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>テキストファイル出力できる方法をご存知ですか?
エクセルVBAを勉強してるものには、常識的なことです。
(1)それより質問者がVBAを学習や作成したことがあるのかが問題ですよ。
(2)関数では出来ませんからね。
(3)人手操作ではテキストエディターにコピー貼り付けーテキストファイルの名前をつけて保存、の繰り返しになり、手間ですが理屈では時間をかければ、出来ます。
(4)特殊ソフト
内容は簡単なことなので、WEBなどには公表されないでしょう。
(1)のコードはWEBで照会すれば使う道具立ては沢山の例が載ってます。
「vba テキストファイル 書き出し」でGoogleなどで照会。

投稿日時 - 2009-12-13 20:49:02

ANo.1

一例です。

エラー処理はしてません。

Sub test()
  Dim myLastRow As Long, i As Long
  Dim n As Integer
  Dim myFileName As String
  
  myLastRow = Cells(Rows.Count, "A").End(xlUp).Row

  For i = 1 To myLastRow
    myFileName = Cells(i, "A").Value & ".txt"
    n = FreeFile
    Open myFileName For Output As #n
    Print #n, Cells(i, "B").Value
    Close #n
  Next i
End Sub

投稿日時 - 2009-12-11 23:10:39

あなたにオススメの質問