質問: Dir() Loop End Sub ``` ソースコード ``` ### 試したこと サブフォルダを探しに行くのだと思い色々試したのですがうまくいきませんでした ### 補足情報(FW/ツールのバージョンなど) win10 エクセル2016 です
回答: > > だらだらの長文で申し訳ありません、先輩から早く直せと言われ困っています、 > > まず箇条書きにしてみて、それから何度も推敲して、 > > 他人にちゃんと伝わるか考えてみてから発言してみては? > > > 1)サブフォルダー毎に繰り返し 2)ファイル毎に繰り返し 3)もし、ファイルがエクセルファイルなら 4)ファイルを開く 5)一番左のシートの100行目をコピペ 6)ファイルを閉じる 7)2へ戻る 8)1へ戻る ``` Option Explicit '※メニュー[ツール]→[参照設定]で、「Microsoft Scripting Runtime」にチェック Sub メイン() Dim FSO As FileSystemObject: Set FSO = New FileSystemObject Dim o As Folder Dim f As File Dim i As Long i = 4 For Each o In FSO.GetFolder("C:\Users\Public\Documents\てすと").SubFolders For Each f In o.Files If FSO.GetExtensionName(f) = "xlsx" Then With Workbooks.Open(f.Path) .Worksheets(1).Range("A100:Y100").Copy wshResults.Cells(i, "B") .Close False End With i = i + 1 End If Next Next End Sub ``` こういうことかな? 遅くて不満なら、勉強して違うやり方を覚えてください。 後で読んで何してるかわかりやすいとは思います。 参照設定を忘れずに!