実現したいこと
●指定年度範囲のフォルダを探し、ファルダ内Excel内容を集計表へ転記
<条件>
・集計表Excelの指定年度で合致したフォルダ内のExcelから、集計表の10行目以降に転記。
1ファイル1行転記
・指定年度:集計表ExcelのB2からB3
・集計表フォルダパス_C:\Users\xxxxxx.yyy\Desktop\共通\50_VBA\フォルダ検索処理\集計表
・検索フォルダパス_C:\Users\xxxxxx.yyy\Desktop\共通\50_VBA\フォルダ検索処理\転記元
※xxxxxx.yyyは個人情報になる為xyで表示しました。
・検索条件:以下図1の通り、集計表yyyyと検索フォルダ名の6桁目から9桁のyyyyで照合し合致フォルダ内Excelの処理→2020と2020で合致
パターン①:B2が2020でB3が空白の場合、2065-2020年度フォルダ内Excelのみ処理
パターン②:B2が2020でB3が2021の場合、2065-2020年度、2165-2021年度フォルダ内Excelを処理
※2065-2020年度フォルダの桁数は変わらず、年度毎に手動で増えていく。
例.2023の場合、2365-2023年のように
●検索条件_図1
●集計表ファイル構成
●集計表ファイル(VBA実行ファイル)
●検索フォルダ構成
●検索ファイル構成※検索フォルダの2265-2022年度フォルダの中身
●検索ファイル中身※ファイルフォーマットは全て同じ
発生している問題・エラーメッセージ
・指定年度範囲のフォルダを探すコードが分からなく相談させていただきました。
・現コードはコード内で対象フォルダパスを指定してでの処理になってしまっています。
エラーメッセージ
該当のソースコード
VBA
1Sub 転記処理() 2 3Const source As String = "C:\Users\z09071.SWN\Desktop\共通\50_VBA\フォルダ検索処理\転記元\2065-2020年度" 4Const copy As String = "C:\Users\z09071.SWN\Desktop\共通\50_VBA\フォルダ検索処理\集計表" 5Dim ws1 As Worksheet 6Set ws1 = ThisWorkbook.Worksheets("集計表") 7Dim fs As FileSystemObject 8Set fs = New Scripting.FileSystemObject 9Dim myfolder As Folder 10Set myfolder = fs.GetFolder("C:\Users\z09071.SWN\Desktop\共通\50_VBA\フォルダ検索処理\転記元\2065-2020年度") 11 12If ws1.FilterMode = True Then '集計表ソートクリア条件式 13 ws1.ShowAllData 14End If 15ws1.Rows("10:" & Rows.Count).ClearContents 'データ削除 16 17Dim myfile As File 'フォルダ内ファイル繰返し処理 18For Each myfile In myfolder.Files 19 If fs.GetExtensionName(myfile) = "xlsx" Then '拡張子xlsxのファイルを対象に処理を行う 20 Dim wb As Workbook 21 Set wb = Workbooks.Open(Filename:=myfile) 22 Dim ws2 As Worksheet 23 Set ws2 = wb.Worksheets(1) 24 ws1.Cells(10 + i, 1).Value = ws2.Cells(1, 2).Value 25 ws1.Cells(10 + i, 2).Value = ws2.Cells(2, 2).Value 26 ws1.Cells(10 + i, 3).Value = ws2.Cells(3, 2).Value 27 ws1.Cells(10 + i, 4).Value = ws1.Cells(10 + i, 2).Value * ws1.Cells(10 + i, 3).Value 28 ws1.Cells(10 + i, 5).Value = ws2.Cells(4, 2).Value 29 i = i + 1 30 31 wb.Close 32 Set ws2 = Nothing 33 Set wb = Nothing 34 End If 35 Next 36 Set myfolder = Nothing 37 Set fs = Nothing 38 39End Sub
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/08/23 01:55
2022/08/23 02:21
2022/08/23 02:48
2022/08/23 05:29