• ベストアンサー

マクロの連続実行

たびたびお世話になります。 同一フォルダー内にあるテキストには型番が記載されてあり エク セルファイルには品番が記載されてあります。 それを、整理番号を元に型番と品番と結びつけるマクロがあります。 そのマクロは同一フォルダー内の物だけを結びつけることができます。 しかし、その作業を行うものが1000個ほど存在しています。 それと、本来はテキストとエクセルは別フォルダーにありますが、 現在は、手で1つ1つ1つのフォルダーにまとめて入れて マクロの付いているエクセルファイルを入れて動作させて また、保存して・・・・という作業を繰り返しています。 なんとか、自動でその作業を行うマクロなどはないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

No.1です。 なるほど、だいたいわかりました。 そこで、 > それと、本来はテキストとエクセルは別フォルダーにありますが、 > 現在は、手で1つ1つ1つのフォルダーにまとめて入れて > マクロの付いているエクセルファイルを入れて動作させて > また、保存して をマクロで自動化したいのですね。 名前の変更の質問も見つけたので、そちらで回答させていただくことにします。

hou66
質問者

お礼

ありがとうございます よろしくお願いします

その他の回答 (2)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

ちょっと質問内容がよくわからないのですが、 > 同一フォルダー内にあるテキストには型番が記載されてあり > エクセルファイルには品番が記載されてあります。 テキストファイルに「型番」 エクセルファイルに「品番」 ですね。その次の > それを、整理番号を元に型番と品番と結びつけるマクロがあります。 「整理番号」はどこに書いてあるのでしょうか。そしてそのマクロはどのエクセルファイルにあるのでしょうか。「整理番号」の書かれたエクセルファイルがまた別にあり、そのファイルにマクロがある、ということでしょうか。 そうであれば、マクロの中でテキストファイルとエクセルファイルをオープンしているはずなので、 > そのマクロは同一フォルダー内の物だけを結びつけることができます。 の部分に手を入れて、テキストファイルはこっちのフォルダから、エクセルファイルはこっちのフォルダから、というようにそれぞれのフォルダから読めるようにすればいいのではないかと思うのですが。 Dir関数を使っているのか、FileSystemObjectを使っているのか、どのようなマクロで行っているのかわかりませんが、ファイルをオープンする箇所に手を加えればできるかと思います。 ただ、 > 本来はテキストとエクセルは別フォルダーにありますが、 とありますが、テキストはテキストで1つのフォルダーにまとめて入っており、エクセルはエクセルでまた別の1つのフォルダーにまとめて入っているのでしょうか。もしテキストファイルもエクセルファイルも、それぞれが多数のフォルダーに入っているのであれば、ちょっとややこしくなります。フォルダ名に規則性があったりすれば、多少はマクロも組みやすくなると思いますが。 もう少し具体的な情報を補足していただけると、アドバイスがしやすくなるかと思います。

hou66
質問者

補足

ありがとうございます。 また、言葉足らずな文章で申し訳ありません。 「整理番号」は、テキスト,エクセルにそれぞれ入っています。 例 エクセルでは   A,F,K,P,Wの列に整理番号が書かれてあり   その、右側に品番が書かれてあります。   テキストでは、%SETUPと書かれた行の後に   整理番号が書かれてありその後PC(16桁)と括弧の中に型番が   記載されています。 マクロはまったく別のファイルです。 Workbooks.Open Filename: やWorkbooks.OpenTextを使用しています テキストも エクセルもそれぞれが多数のフォルダーに入っています その部分は、がんばって1つ1つ移すしかないかなぁと考えたりもしています テキストはそれぞれ、別のファイル名称なのですが エクセルは同じファイル名なのです。 なので、別質問で名前の変更もみなさまに教えていただきたく投稿しています

  • kootsuki
  • ベストアンサー率54% (6/11)
回答No.1

具体的にここでVBAのコードを書けるほど簡単ではないと思いますが、私だったら頑張ってVBAでコーディングします。ExcelのOPENは Workbooks.Open ですし、ファイルのオープンは openメソッドです。ファイル名をどんどん変えていきます。個々のExcelで動かすEXCELのマクロはworkbookOpenの中に定義しておきExcelオープン時に自動で動かします。1000個もあれば頑張る価値ありです。

関連するQ&A