- ベストアンサー
VBAにて複数フォルダのエクセルファイルからデータ抽出を行いたいのですが…
現在、下記の方法で複数のブックからデータを抽出し、 一覧表示をしています。(一覧表示をしているブックを仮にAとします。) 今のままだと、同一フォルダ内のブックしか抽出されません。 これを、サブフォルダまで対象にするには、どうすれば良いのでしょうか? 簡単に例をあげると、 フォルダ(1)の中にAを入れておいて フォルダ(1)の下にあるサブフォルダ(1)、サブフォルダ(2)の中にあるブックからデータの抽出を行いたいのです。 現在つかっているVBAは Sub 抽出用() Dim FName As String Dim Folder As String Dim wb As Workbook Dim i As Integer, j As Integer Application.ScreenUpdating = False Folder = ThisWorkbook.Path & "\" i = 1: j = 1 Worksheets(1).Cells.ClearContents FName = Dir(Folder & "*.xls") Do While FName <> "" If FName <> ThisWorkbook.Name Then Workbooks.Open (Folder & FName) Workbooks(Workbooks.Count).Worksheets(5).Rows("1:1").Copy _ ThisWorkbook.Worksheets(5).Cells(i + 3, 1) Workbooks(Workbooks.Count).Close Application.StatusBar = j & "ファイル処理済み" i = i + 1: j = j + 1 End If FName = Dir() Loop Application.StatusBar = "" Application.ScreenUpdating = True MsgBox ("完了しました") End Sub です。 いいお知恵があれば、よろしくお願い致します。
- みんなの回答 (7)
- 専門家の回答
補足
ピンポイントのご回答、大変ありがとうございます。 ご指摘のとおり、私のコードでは無いですし VBAは全くもって初心者です。 しかし、なんとか使いやすく。。。と、試行錯誤しております。 そんな中、こんなにご丁寧な回答をいただいて、とても嬉しいのですが、 ReDim Preserve arFiles(fCount) ここでコンパイルエラー:変数が定義されていません。 と出てきます。 これは、どうすればいいのでしょう? よろしくお願い致します。