▽1
●
degucho ●100ポイント ベストアンサー |
VBAマクロを記述したブックと同じフォルダ内にあるブックのA1セルの内容を
新規シートに転記するマクロを作成してみました
Public Sub ReadAllA1() 'このフォルダ内のファイルを処理(今回はマクロ配置ブックと同じ場所とする) Dim baseDir As String baseDir = ThisWorkbook.Path + "\" 'このパターンでxlsxもヒットする Dim pattern As String pattern = baseDir + "*.xls" Dim fileName As String fileName = Dir(pattern) Dim row As Integer row = 1 '結果貼り付け用に新規シート作成 Dim mySheet As Worksheet Set mySheet = Worksheets.Add Do While (fileName <> "") '自分自身以外のファイルの場合 If (fileName <> ThisWorkbook.Name) Then 'ブックを開いてA1を取得 Dim wkb As Workbook Set wkb = Workbooks.Open(baseDir + fileName) Dim wks As Worksheet Set wks = wkb.Worksheets(1) Dim value As String value = wks.Range("A1").value '結果シートのA列にファイル名、B列にA1セルの値を転記 mySheet.Cells(row, 1) = fileName mySheet.Cells(row, 2) = value row = row + 1 Debug.Print value Set wks = Nothing wkb.Close Set wkb = Nothing End If fileName = Dir() Loop mySheet.Cells.EntireColumn.AutoFit Set mySheet = Nothing End Sub