重要なお知らせ

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

【終了しました】教えて!gooアプリ版

お世話になります。
エクセル2003の1sheet内に、
複数の.txt(文章)が入ったフォルダから一括でデータを取り込みしたいのです。

フォルダAの中に入っている2000個の.txtから、
1sheetのA1セルに.txtタイトル、A2セルに.txt文章データとし、
2000行のA1、A2に収める手順をお教え願えませんでしょうか?

ちなみに.txtの文字数は1万文字ほどあります。

お恥ずかしいのですが、VBA記述データだけではさっぱりワカラナイため、

⇒エクセルのココを開いてココに◯◯をコピペ
⇒対象となるフォルダパスの記載部分
⇒ココをこうしてこう実行する

といった感じでご指導願いたいです。

2時間以上ネットで調べたんですが、私に理解できる回答が見つけられす。
どなたか理解る方、高齢者にもワカルように手取り足取りお教えください。

どうぞよろしくお願いいたします。

質問者からの補足コメント

  • つらい・・・

    tatsu99様
    キャプチャとともに確認の補足要求ありがとうございます。

    質問1)私が間違っておりました。
       A.txtファイルのファイル名をA1に、
       B.txtファイルのファイル名をA2に...(以降繰り返し)です。

    質問2)スイマセン、こちらも私の質問が間違っておりました。
       A.txtファイル内のテキスト全データをB1セルに、
       B.txtファイル内のテキスト全データをB2セルに...(以降同じ) のマチガイでした。
       本当に申し訳ございません。。

    こちらのキャプチャを見て、自分の質問ミスに気がつきました。
    ご回答いただいた GooUserラック様、 tatsu99様大変申し訳ございませんでした。

    ご指導のほど、どうぞよろしくお願いいたします。

    No.5の回答に寄せられた補足コメントです。 補足日時:2017/02/09 14:07
  • うーん・・・

    tatsu99様
    恐れ入りますが手順としては次のとおりで良いでしょうか?

    1.No3のコード「Sub~Sub」までをコピーし、任意の.txtを作成して.txtのあるフォルダに置く

    2..txtのデータを移したいExcelシートを開く

    実はこのあとの操作方法もワカラナイのです。
    上記後に「何」を「どう」操作指示すれば.txtデータをExcelシートに一括取り込みできるのでしょうか?

    お教えくださいませ。
    どうぞよろしくお願いいたします。

      補足日時:2017/02/09 17:40
  • うーん・・・

    恐れ入りますがもう少し教えてください。

    当方が利用しているのは.xlsxなのですが、
    この場合の標準モジュール(module1)に登録する手順というのは、

    ⇒任意のbook1.xlsxのSheet1画面でAltキーを押しながら[F11]キーを押す
    ⇒VBEが起動したら、[挿入]メニューの[標準モジュール]をクリック
    ⇒No3のコードをコピぺ
    ⇒上書き保存

    そうしますとメッセージが現れ

    次の機能はマクロなしのブックに保存できません:
    ・VBプロジェクト

    と表示されるのですが、この場合は[はい]を選択して宜しいでしょうか?


    また2.のマクロ実行なんですが、
    .xlsxだとメニューバーにツールがありません。

    メニューバーの[表示]のところにマクロがあるのですが、
    ココをどのように操作すれば宜しいでしょうか?

    しつこくてスイマセン。
    ご指導のほどどうぞよろしくお願いいたします。

    No.7の回答に寄せられた補足コメントです。 補足日時:2017/02/09 18:51
  • つらい・・・

    No8の回答ありがとうございます。
    ですがまだ出来ないのです。
    以下の手順でOKですか?

    ⇒任意のbook1.xlsxのSheet1画面でAltキーを押しながら[F11]キーを押す
    ⇒VBEが起動したら、[挿入]メニューの[標準モジュール]をクリック
    ⇒No3のコードをコピぺ
    ⇒上書き保存
    ⇒メッセージが表示されるので「いいえ」を選択
    ⇒拡張子.xlsmを選択して.txtのあるフォルダに保存

    ⇒.txtフォルダ内のbook1.xlsmを開く
    ⇒メニューバーの[表示]>[マクロ]を選択
    ⇒[マクロの表示]を選択
    ⇒現れたマクロから[Book1.xlsm!Sheet1.ファイル読込み]を選択
    ⇒[実行]
    ⇒「インデックスが有効範囲にありません」と表示されます

    ◆[マクロ]以降の操作手順をお教えくださいませ。

    どうぞよろしくお願いいたします。

      補足日時:2017/02/10 11:48
  • うれしい

    No13回答でようやくできました!
    本当にありがとうございます。

    でもエクセルシートが固まってしまいます。
    これはB列1セルづつに入れるテキスト量(10,000文字)が多いからでしょうか?

      補足日時:2017/02/10 15:55

A 回答 (14件中11~14件)

No.3 追補



同じフォルダーに有る総てのテキストファイル(拡張子が「txt」の物)を読み込みます。
    • good
    • 0

このコードを書き込んだファイルは、テキストファイルの有るフォルダーに置いてください。


--------------------------------------------------------------------------
Sub ファイル読込み()
Dim ファイル名 As String
Dim 行 As Long
Dim ファイル番号 As Integer
Sheets("結果データ").Select
Cells.ClearContents
ファイル名 = Dir(ThisWorkbook.Path & "\" & "*.txt")
Do While ファイル名 <> ""
行 = 行 + 1
Cells(行, 1).Value = ファイル名
ファイル名 = Dir()
Loop
For 行 = 1 To Cells(Rows.Count, 1).End(xlUp).Row
ファイル番号 = FreeFile
Open ThisWorkbook.Path & "\" & Cells(行, 1).Value For Input As #ファイル番号
Cells(行, 2).Value = StrConv(InputB(LOF(1), #ファイル番号), vbUnicode)
Close #ファイル番号
Next
End Sub
--------------------------------------------------------------------------
※ いちいちパスを指定するのが面倒なので「ThisWorkbook.Path」を使っています。
※ それだけのテキストファイルを読み込むと、かなり大きなものになるのでメモリの搭載量が少ないと止まったようになるかもしれません。
    • good
    • 0

No.1 訂正です



もっと出来ました。申し訳ございません。
    • good
    • 0

「Excel2003」では1つのセルに入る文字数は2015文字ですがあふれた物はどうしますか?

    • good
    • 0

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