• ベストアンサー

Excel2000で複数のテキストファイルを自動で開きたい

タイトルのとおりなのですが、下のようなテキストファイルが数十個あります。 10 ABC 0.123 0.456 0.789 20 ABC 1.123 1.456 1.789 すべて2、3行です。 これを1つの表にまとめたいと思っています。 フォルダにあるファイルすべてを開き、Excelのシートに コピーさせるようなマクロは作ることができるのでしょうか? ちなみに、ファイル名は一定ではありません。 よろしくお願いします。

  • oddo
  • お礼率86% (174/201)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Excelのマクロで行う場合なのですが、フォルダー内のファイル一覧をとるにはVBAの知識が必要かと思います。よって、いまいちかもしれませんが、マクロを使わずにできる方法を説明します。 1.MSDOSプロンプト(WindowsXPとかだとコマンドプロンプト)で目的のフォルダーに移動(CDコマンドを使用)し、"dir /b > list.bat"でそのフォルダーにあるファイルの一覧を吐き出す。 2.list.batをメモ帳等で開きファイルの先頭に"Copy "と記述。改行文字を"+" を置換。置換後、ファイルの最後にできる"+"を" [ファイル名]"に置換。 (ファイルの中身はこんな感じ→「Copy [file1]+[file2]+...+[fileN] [ファイル名]」) 3.list.batをクリックすると全てのファイルが結合されたファイル[ファイル名]が作成されますのでこれをExcelで開けば1つの表になると思います。 注)Copyの後などスペースが入っていますので注意してください。 結構手間がかかってしまって、現実的ではないかと思いますが、 ご了承ください。なにか質問等があればご一報ください。もし、VBAのサンプルが欲し場合にもご一報ください。

oddo
質問者

お礼

kazuho_gooさん、早速のアドバイスありがとうございました。 テキストを全部連結させて、Excelに読み込むという方法ですね。 丁寧に教えてくださってとても分かりやすいです。 これぐらいの手間ならなんでもないですので(^^; やってみます! またなにかあればよろしくおねがいします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

1つのファイルが終わると、次のファイル名を聞いてきますので、次々入力してください。終わりのファイルの次はendと入力してください。それで終了し、エクセルのシートに累積されます。 (下記で質問者のケースに合わせて変えるべきところ) (1)c:\My Documents\の部分 (2)Input #1, a, b, c, d項目数にあわせて増減してください。今は4項目の例です。5項目ならInput #1, a, b, c, d,eとしてください。 (3)Cells(i, 4) = dなどのところ。これも項目の数に合わせて増減してください。 下記でiはエクセルの第i行目を指します。 (GoToが出て来たり、Whileも使わず、字下げも不充分で (Object).Methodも使っておりませんが、極く初等的にやりました。識者にはお許し下さい。)一応テスト済み。 ---------------- Sub test01() i = 1 p01: fn = InputBox("ファイル名=") If fn = "end" Then Exit Sub Open "c:\My Documents\" & fn For Input As #1 p03: If EOF(1) = -1 Then GoTo p02 Input #1, a, b, c, d  Cells(i, 1) = a  Cells(i, 2) = b  Cells(i, 3) = c  Cells(i, 4) = d  i = i + 1 GoTo p03 p02: Close #1 GoTo p01 End Sub

oddo
質問者

お礼

imogasiさん、回答ありがとうございました。 お礼が遅れてすみませんでした。 VBで関数まで作っていただいて、ありがたいです。 試してみます。 また何かあればよろしくお願いします。

関連するQ&A

  • EXCEL複数のファイルから指定されたデータを抽

    初めて、マクロ初心者です。 お手数をおかけしますが、助けてください。 条件(1)同じフォルダに 約200個のエクセルファイルがあります。 名前はバラバラです。 管理表を作りたいため、200個をコピーするのも苦痛でしたので、簡単なマクロはありませんか? 条件(2)シートの作りはすべて同じです。それぞれ15個のシートがあります。(お客様のデータを管理しているため。) 同じデータの部分を抽出して、新しいExcelブックに集計したいです。 例えば、 ファイル名0001、シート1のA1のセルで記載されている「文字」もしくは「数字」を新しいブックののA1にコピーして、ファイル名をB1記入したい。 ファイル名0002、シート1のA2のセルで記載されている「文字」もしくは「数字」を新しいブックののA2にコピーして、ファイル名をB2記入したい。 コピーすることは出来るマクロを教えてください。 順番はなく、ファイル名と集計したい「データ」が一致であればOKです。 よろしくお願いします。

  • フォルダに入っている複数のファイルをコピーしたい。

    エクセルなのですが、 1つのフォルダに入っている複数のエクセルファイルを 1つのエクセルファイルに(下に付け加えて)まとめたいと思っています。 このようなことをやりたいと思っているのですが、 お力をお貸ししていただけないでしょうか? どのシートも形式は同じなのですが、 1つのエクセルファイルに複数のBookがある場合もあります。 中身としてはA~Z列まであり、また行についてはそれぞれのシートによって異なります。 そして、どのシートに対しても1~3行についてはタイトル等が書いてありますので、 4行目以降でデータが入っているところまで、同じフォルダに用意したファイルに 順番にコピーしていきたいと思っています。 色々と試してみたのですが、どうしても複数のファイルから取り出してくることができなくて、 すみませんがよろしくお願します。

  • 大量のテキストファイルを一つのエクセルファイルに

    大量のテキストファイル(以下「テキスト」とします)を、そのテキストを保存しているフォルダ名がわかるように一つのエクセルファイルに書き込みたいと考えています。 例えば「A」というフォルダの中にフォルダ名「1」~「1000」の1000個のサブフォルダがあり、その1000個のフォルダの中にはそれぞれ3~4つのファイルが保存されています(ファイルの種類はバラバラ)。但し、1000個のフォルダには最低でも1つのテキストが必ず保存されており、そのテキストのファイル名はすべて同じです。これら同じファイル名の1000個のテキストを、保存されているフォルダ名がわかるように一つのエクセルファイルの一つのシートの上から順番に書き込みたいのです。 それぞれのテキストは、1行に1情報、改行が10~20ほど、ファイルサイズは1~2KBほどです。エクセルのバージョンは2010です。 書き込み方は、例えばエクセルファイルのSheet1のA列にフォルダパス等のフォルダ名がわかる情報を、B列にテキストの内容を書き込むといった感じで、簡単なデータベースのテーブルを作るイメージです。 上記を実現できる方法はありますでしょうか? もし何らかのプログラミングが必要であれば、当方ほぼ未経験ですので具体的に例示して頂けると大変ありがたいです。 よろしくお願い致します。

  • 複数のEXCELファイルより一部の行を自動でマージするマクロ

    「(1)複数のEXCELファイル」より、「(2)特定のシート」の中のさらに「(3)特定の行」をコピーし、あるEXCELファイルの1シートに挿入していくマクロ(VBA)か、ソフトが掲載されているサイト、もしくは、やりかたを教えてください。 1.EXCELは、2003 2.「(1)複数のEXCELファイル」は、一つのフォルダにあり、データ形式は一緒。  そのフォルダにはEXCELファイルしか置きません。 3.「(2)特定のシート」について、シート名はどれも一部のみ一致します。  または位置(順番)は一緒です。 4.「(3)特定の行」はどのファイルも作りが一緒です。 VBA初心者ですが、ヒントをいただければ頑張りたいと考えています。

  • エクセルで複数ファイルのシートから一つのシートへ結合したい

    エクセル上で、 Aフォルダ内にファイルBook1~数十個があり、Book1にはシート名「sh1」、Book2にはシート名「st2」のみがぞれぞれあります。シート内のデータ数はバラバラで何行のデータがあるか不明ですが、列数は同一です。 このファイルすべてを開かずに、今開いている、「加工.xls」のsheet1にまとめたいと思っています。(sh1の下にsh2、その下にsh3・・・を繰り返して、「加工.xls」のsheet1に貼り付ける。行間は空けず一覧表にする。フォルダ内のファイルが無くなったら終了する。)こんな感じのをマクロでやりたいと思っています。 ファイルを開かないで行う方法は、何とか過去の質問を調べてApplication.ExecuteExcel4Macroを使ってやろうとしていますが、応用が利きませんでした。開いていないファイルの最終行をどう取得選択してsheet1に持ってくればよいか分からず悩んでいます。 よろしくお願いいたします。

  • エクセル マクロ 複数ファイルを1枚のファイルに

    お世話になります。 私の業務で、多数のエクセルシートを1つのファイルにまとめ、 その上で縦串を通して合算を出す、という作業が頻発しております。 様々な資料で同様の作業が行われますので、簡素化ができればと思い、 質問させていただきます。 [作りたいマクロ] 『元データ』のフォルダに入っているエクセルファイルの 『指定シート(仮にA2セルにシート名を指定できるものとします)』を、 当マクロの入ったエクセルファイルにシートを追加したい。 その際、全てのシート名が同一になってしまうので、 『指定したセル(仮に各シートのB2セル)』をシート名にする。 ●各シートは全て同じフォーマットですので、書式等そのままコピーでOKです ●元のファイル名はバラバラになっていることが多いです

  • 複数フォルダ内のファイル群をひとつに纏める

    Excel2003のVBA で、以下の作業を行いたいので宜しくご教示下さい。   サーバー上や自分のPC上にある、任意フォルダA直下には、   複数のフォルダがあり、その複数フォルダ内に多数のファイル(約3万個)が入っている。   そのファイル群を、任意フォルダAの直下に新しいフォルダを1つ作り、全てコピーし纏めたい。   当方の構想(希望)としては、   1.エクセルシート1に全ファイル名を書きだす。(行:フォルダ名、列:ファイル名)   2.同名ファイルの有無を判定し、有ればエクセルシート2にフォルダ名とファイル名を抽出する。     (同名ファイルは、エクセルシート2を確認し、手動で変更する)   3.同名ファイルが無ければ、新しいフォルダに全てコピーする。 コードを記載しご教示頂ければ助かります。 皆様よろしくお願い致します。

  • Excel複数ファイルを1つにまとめる方法

    3つのExcelファイルがあります。 各ファイルは1つのシートです。 各シートとも1行目の項目名は同じです。 別のファイルにこの3つのExcelファイルを1つにしたいです。 具体的にはSheet1にすべてのファイルをまとめたいのですが、 Accessで処理できる方法はございますか。 もしくはExcelVBAになりますか。 ご回答お願いします。

  • 複数のエクセルファイルのデータを新規のファイルで一覧表にまとめるには?

    1つのホルダーの中に1000のエクセルファイルがあり、これらのファイルには、複数のシートがあります。これら1000のファイルから指定するシート(シートの様式とシート名は同じ)のデータ(C5:C17)を一覧表にまとめたいのです。 1000のエクセルファイル名は、○_■(○:個別、■:共通)で、一覧表は新たなエクセルファイルを作成し、1行目は左(A1)から順に、○(ファイル名の個別の部分)、C5のデータ、C6のデータ..C17のデータを  2行目には次のエクセルファイルの○(ファイル名の個別の部分)、C5のデータ、C6のデータ..C17のデータを ・・ と1000ファイルのデータをコピー&ペーストしたく、マクロ作りに挑戦したのですが、うまくいきません。どなたか助けてください。よろしくお願いいたします。

  • フォルダ内の複数ファイルを1つのシートしたい

    フォルダに入っている同じFMTファイルから同じシート名のファイルの9行目からデータが入力されてる行までをコピーして別ファイルの指定シートにペーストしたいです。 50シートくらいありデータを下につなげていきたいのですが、どうしたらよいでしょうか? よろしくお願い致します。

専門家に質問してみよう