Excelのマクロについて教えて下さい。
Excelのマクロについて教えて下さい。 所定のフォルダ(Cドライブ内のフォルダ1という名前)に複数のファイルを入れておいて、別のExcelでボタンを設置して押すと、そのフォルダ内のセルA2、C1、A4:C*を抽出して、ボタンを設置したシートに画像のような形で一覧になるようなマクロを教えて欲しいです。A4:C*の最終行の判断は、A列からC列全てがブランクの場合、その上の行までを抽出したいです。どなたか教えて頂けないでしょうか。
Excel | Visual Basic・33閲覧・50
ベストアンサー
一例です。参照設定で Microsoft Scripting Runtime を設定しておいてください。 Sub Sample() Dim tmp As String Dim f As File Dim r As Long Dim sh As Worksheet Dim fso As Scripting.FileSystemObject Application.ScreenUpdating = False Set fso = New Scripting.FileSystemObject '集約フォルダ tmp = "D:\Sample\test" '集約先 Set sh = ThisWorkbook.Sheets("Sheet1") For Each f In fso.GetFolder(tmp).Files If InStr(fso.GetExtensionName(f), "xls") Then Workbooks.Open f, ReadOnly:=True r = sh.Cells(Rows.Count, "C").End(xlUp).Offset(1).Row If r = 2 Then r = 1 sh.Cells(r, "A").Value = Range("A2").Value sh.Cells(r, "B").Value = Range("C1").Value Range("A4").CurrentRegion.Copy sh.Cells(r, "C") Workbooks(f.Name).Close False End If Next f Application.CutCopyMode = False Application.ScreenUpdating = True Set fso = Nothing MsgBox "Done." End Sub
質問者からのお礼コメント
いつも回答頂き、ありがとうございます。 一番希望していた形の結果が得られました。感謝いたします。
お礼日時:1/25 15:00