• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:検索したBOOKが存在しない場合の対処法)

検索したBOOKが存在しない場合の対処法

このQ&Aのポイント
  • VBA初心者の方が、複数のエクセルBOOKから特定のデータを集計用BOOKに順にコピーする方法を知りたいです。また、集計用BOOKに記載のあるデータ用BOOK名のBOOKが存在しない場合は無視して次に進む方法も教えてください。
  • 質問者はVBA初心者で、複数のエクセルBOOK内の特定のデータを別の集計用エクセルBOOKに順にコピーしたいと考えています。また、集計用BOOKに記載のあるデータ用BOOKが存在しない場合は無視して次のデータに進む方法を知りたいとのことです。
  • VBA初心者の方が、複数のエクセルBOOK内の特定のデータを集計用エクセルBOOKに順にコピーする方法を教えてください。また、集計用BOOKに記載のあるデータ用BOOKが存在しない場合は無視して次に進む方法についても教えてください。

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

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

Dir(フルパスファイル名) ファイルの存在を調べ、あればファイル名(パス無し)を返します。 Sub W() Dim ファイル名 As String, fpFilename As String Dim 列番号 As Long 列番号 = 4 Do While Cells(2, 列番号).Value <> "" ファイル名 = Cells(2, 列番号).Value fpFilename="D:\学校\データ\" & ファイル名 & ".xlsx" If Dir(fpFilename)<>"" then Workbooks.Open fpFilename Range("A2:A1000").Copy Application.DisplayAlerts = False ActiveWorkbook.Close ThisWorkbook.Activate ActiveSheet.Paste Cells(5, 列番号) end if 列番号 = 列番号 + 1 Loop End Sub 質問とは関係ありませんが、ちょっと便利な使い方があります。詳細はググって下さい。

katamogura
質問者

お礼

バッチリ完成させることができました! ありがとうございます!!

その他の回答 (1)

  • t-aka
  • ベストアンサー率36% (114/314)
回答No.1

Dir関数を使ってみましょう。 一度試してみてください。 ↓こんな感じです。 ファイル名 = Cells(2, 列番号).Value IF Dir(ファイル名)<>"" THEN  'ファイルが存在するときの処理 ELSE  'ファイルが存在しないときの処理 END IF

katamogura
質問者

お礼

早速の回答、ありがとうございました!

関連するQ&A