
お世話になります。
エクセル2003の1sheet内に、
複数の.txt(文章)が入ったフォルダから一括でデータを取り込みしたいのです。
フォルダAの中に入っている2000個の.txtから、
1sheetのA1セルに.txtタイトル、A2セルに.txt文章データとし、
2000行のA1、A2に収める手順をお教え願えませんでしょうか?
ちなみに.txtの文字数は1万文字ほどあります。
お恥ずかしいのですが、VBA記述データだけではさっぱりワカラナイため、
⇒エクセルのココを開いてココに◯◯をコピペ
⇒対象となるフォルダパスの記載部分
⇒ココをこうしてこう実行する
といった感じでご指導願いたいです。
2時間以上ネットで調べたんですが、私に理解できる回答が見つけられす。
どなたか理解る方、高齢者にもワカルように手取り足取りお教えください。
どうぞよろしくお願いいたします。
No.3
- 回答日時:
このコードを書き込んだファイルは、テキストファイルの有るフォルダーに置いてください。
--------------------------------------------------------------------------
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」を使っています。
※ それだけのテキストファイルを読み込むと、かなり大きなものになるのでメモリの搭載量が少ないと止まったようになるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセル 集計 マクロ
-
【エクセル】フリーワード検索...
-
エクセルファイルを開いた回数...
-
エクセルで複数のシートのクリ...
-
Excelで数字を入れたら対応する...
-
Excelのシート上のShapeにイベ...
-
マクロ1があります。 A1のセル...
-
関数の使いすぎでエクセルが重...
-
前月分を次月シートに繰越でき...
-
Excelにて、同じ画像を複数のセ...
-
長い時間かかるマクロが実行中...
-
セルの一部分だけを太字にする方法
-
エクセルでランダムな座席表を...
-
Excelのマクロ 検索範囲を広げ...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル シート内の一番下のセ...
-
エクセルVBAで内容変更のたびに...
-
EXCELのダイアログシートって、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
指定値をマクロで検索&シート移動
-
【エクセル】「実行時エラー’10...
-
【エクセル】フリーワード検索...
-
エクセル シート内の一番下のセ...
-
エクセルファイルを開いた回数...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
エクセルで特定の行だけ行削除...
-
前月分を次月シートに繰越でき...
-
エクセル マクロ 一定時間おき...
-
excel定数の違いについて。xlAu...
-
エクセル:セル内の文字列の最...
-
エクセルVBAで実行中画面を...
-
セルの一部分だけを太字にする方法
-
エクセルVBAコード
おすすめ情報
tatsu99様
キャプチャとともに確認の補足要求ありがとうございます。
質問1)私が間違っておりました。
A.txtファイルのファイル名をA1に、
B.txtファイルのファイル名をA2に...(以降繰り返し)です。
質問2)スイマセン、こちらも私の質問が間違っておりました。
A.txtファイル内のテキスト全データをB1セルに、
B.txtファイル内のテキスト全データをB2セルに...(以降同じ) のマチガイでした。
本当に申し訳ございません。。
こちらのキャプチャを見て、自分の質問ミスに気がつきました。
ご回答いただいた GooUserラック様、 tatsu99様大変申し訳ございませんでした。
ご指導のほど、どうぞよろしくお願いいたします。
tatsu99様
恐れ入りますが手順としては次のとおりで良いでしょうか?
1.No3のコード「Sub~Sub」までをコピーし、任意の.txtを作成して.txtのあるフォルダに置く
2..txtのデータを移したいExcelシートを開く
実はこのあとの操作方法もワカラナイのです。
上記後に「何」を「どう」操作指示すれば.txtデータをExcelシートに一括取り込みできるのでしょうか?
お教えくださいませ。
どうぞよろしくお願いいたします。
恐れ入りますがもう少し教えてください。
当方が利用しているのは.xlsxなのですが、
この場合の標準モジュール(module1)に登録する手順というのは、
⇒任意のbook1.xlsxのSheet1画面でAltキーを押しながら[F11]キーを押す
⇒VBEが起動したら、[挿入]メニューの[標準モジュール]をクリック
⇒No3のコードをコピぺ
⇒上書き保存
そうしますとメッセージが現れ
次の機能はマクロなしのブックに保存できません:
・VBプロジェクト
と表示されるのですが、この場合は[はい]を選択して宜しいでしょうか?
また2.のマクロ実行なんですが、
.xlsxだとメニューバーにツールがありません。
メニューバーの[表示]のところにマクロがあるのですが、
ココをどのように操作すれば宜しいでしょうか?
しつこくてスイマセン。
ご指導のほどどうぞよろしくお願いいたします。
No8の回答ありがとうございます。
ですがまだ出来ないのです。
以下の手順でOKですか?
⇒任意のbook1.xlsxのSheet1画面でAltキーを押しながら[F11]キーを押す
⇒VBEが起動したら、[挿入]メニューの[標準モジュール]をクリック
⇒No3のコードをコピぺ
⇒上書き保存
⇒メッセージが表示されるので「いいえ」を選択
⇒拡張子.xlsmを選択して.txtのあるフォルダに保存
⇒.txtフォルダ内のbook1.xlsmを開く
⇒メニューバーの[表示]>[マクロ]を選択
⇒[マクロの表示]を選択
⇒現れたマクロから[Book1.xlsm!Sheet1.ファイル読込み]を選択
⇒[実行]
⇒「インデックスが有効範囲にありません」と表示されます
◆[マクロ]以降の操作手順をお教えくださいませ。
どうぞよろしくお願いいたします。
No13回答でようやくできました!
本当にありがとうございます。
でもエクセルシートが固まってしまいます。
これはB列1セルづつに入れるテキスト量(10,000文字)が多いからでしょうか?