- ベストアンサー
マクロを使用して複数のテキストファイルをエクセルにまとめる方法
- 毎週、複数のテキストファイルを1つずつ開いてデータをコピーしてエクセルに張り付ける作業が時間がかかる問題があります。マクロを使用して、複数のテキストファイルをまとめてエクセルにデータを追加する方法を教えてください。
- フォルダ内には50個のテキストファイルがあります。これらのテキストファイルのデータをエクセルの1つのシートにまとめたいです。テキストファイルのデータは1行目から4行目まで入っている場合もあれば、入っていない場合もあります。
- マクロを調べたけれども分からず、助けを求めています。マクロを使用して効率的に複数のテキストファイルをエクセルにまとめる方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まっさらのブックを一つ用意します ALT+F11を押し,現れた画面で挿入メニューから標準モジュールを挿入します 現れたシートに下記をコピー貼り付けます sub macro1() dim myPath as string dim myFile as string dim n, c, s ’初期化 mypath = thisworkbook.path & "\" myfile = dir(mypath & "*.txt") ’受入準備 on error resume next worksheets.add before:=worksheets(1) activesheet.name = format(date, "yyyymmdd") on error goto 0 ’ファイルの巡回 do until myfile = "" n = n + 1 cells(n, "A") = myfile ’データの読み出し open mypath & myfile for input as #1 c = 1 do until eof(1) line input #1, s c = c + 1 cells(n, c) = s loop close #1 myfile = dir() loop end sub ファイルメニューから終了してエクセルに戻ります ブックを,テキストファイルが保存してあるのと同じフォルダに保存します ブックを開き直し,ALT+F8を押し,登録したマクロを実行します。
その他の回答 (1)
- shintaro-2
- ベストアンサー率36% (2266/6245)
力技ですが、 ファイル名が各ファイルの先頭行に入っていると仮定して MS-Word等で全部のファイルを読み込み 一つの文書とします。 そこで検索置換でリターン記号を例えば"?"に ファイル名の前にリターンを挿入 テキストファイルで保存 エクセルでテキストファイルとして読み込み、 データ区切りで置換した文字を指定 こんなところでいかがでしょう?
お礼
ご回答ありがとうございます。 ファイルの先頭にファイル名が入っていない為 今回は利用出来ませんでしたが、違う時に 是非、利用してみたいと思います! 考えていただきましてありがとうございました!!!
お礼
keithin様 何と言ったら良いのか 本当に、本当にありがとうございます!!! そして、とても感謝です。 これで、長い手作業から開放されました。 嬉しくてたまりません。 ありがとうございました。