• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 1フォルダーの中の該当するファイルを開く)

VBAで特定のフォルダ内のExcelファイルを開く方法

このQ&Aのポイント
  • VBAを使用して、特定のフォルダ内に保存されたExcelファイルをオープンする方法について教えてください。対象のフォルダ内には複数のファイルがありますが、特定の条件に合うファイルのみを開く方法を知りたいです。
  • 特定のフォルダ内に保存された複数のExcelファイルの中から、特定の条件に合うファイルのみを開くVBAマクロの方法について教えてください。例えば、特定の日付範囲のファイルのみを開く場合など、条件を指定してファイルを開く方法を知りたいです。
  • VBAを使用して、特定のフォルダ内に保存されたExcelファイルの中から特定の条件に合うファイルのみを開く方法について教えてください。フォルダ内には複数のファイルがあり、例えば特定の日付範囲のファイルのみを開く場合など、条件を指定して目的のファイルを開く方法を知りたいです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

VBAのヘルプでdir関数の使用例辺りを参考にしてみると,殆どそのままツカエル,サンプルマクロが載ってます。 でもヤリタイ事の具体的な詳細が詰まってないと,またすぐに躓きます。 たとえば 「今月」のブックを処理したい? 「先月」のブックを処理したい? それとも「何年何月」とイチイチ入力して処理したい? 開いた後ナニをしたい? (いや,勿論ファイルさえ開ければ,あとは万全という事でご質問になってないのだと信じますが) 適宜応用して下さい: sub macro1()  dim myPath as string  dim myFile as string  dim n as long  mypath = "C:\営業部\営業2課\売上\"  myfile = dir(mypath & format(date, "yyyy/mm") & "*.xls")  do until myfile = ""   workbooks.open mypath & myfile   n = n + 1   thisworkbooks.worksheets(1).cells(n, "A") = workbooks(myfile).worksheets(1).range("A1")   workbooks(myfile).close false   myfile = dir()  loop end sub #別のアプローチ sub macro2()  dim w as workbook  dim d as integer  dim s as string  on error resume next  s = "2011/12/"  for d = 1 to 31  set w = workbooks.open("C:\営業部\営業2課\売上\" & s & format(d, "00") & ".xls")  next d end sub

kasetsu
質問者

お礼

ご回答ありがとうございます。 フォルダー内のファイルを開いた後やりたい事は万全と言う事で、 あとはフォルダー内の処理したい月のファイルを開く事が自動で出来たら完成という状況でした。 教えていただいたmacro2(別のアプローチ)が使えました。 私の説明不足な質問に対し、丁寧なご回答いただき本当にありがとうございました。 VBAが苦手なのでとても助かりました。

その他の回答 (1)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

それ以前に、「/」区切りのファイル名が存在できない…。 このことはどうやって解決するつもり? > 質問者さん 参考 http://support.microsoft.com/kb/879124/ja

kasetsu
質問者

お礼

ご回答ありがとうございます。 他の方の回答を参考に、無事に問題が解決しました。

関連するQ&A