|
▼じゃっかる さん:
>リンク先のコードは 大まかに言って
>
>(1) 対象フォルダの指定
>(2) 指定フォルダ内の(サブフォルダも含めた)ファイルの取得
>(3) 検索されたBookに対する処理
>
>のような形をとっています。そこは分かりますよね。
>
>で、まるごとコピペで動かしてみて、 (1) (2) は何ら問題ないと思います。
>変更するとすれば
>(3)の部分、すなわち
>
>> 'Bookごとの処理
>> Dim book
>> Dim ws As Worksheet
>>
>> For Each book In FoundFiles
>> With Workbooks.Open(book)
>> On Error Resume Next
>> Set ws = .Worksheets("表紙")
>> On Error GoTo 0
>> If ws Is Nothing Then
>> MsgBox "このBookには指定シートがありません"
>> Else
>> ws.Range("E36").Formula = "=SUM('1:31'!M15)"
>> Set ws = Nothing
>> End If
>> .Close True
>> End With
>> Next
>
>の部分かと思います。
>
>ここを、
'Bookごとの処理
Dim cnt As Long: cnt = 1
Dim book
Dim ws As Worksheet
For Each book In FoundFiles
With Workbooks.Open(book)
On Error Resume Next
Set ws = .Worksheets("1枚目")
On Error GoTo 0
If ws Is Nothing Then
MsgBox "このBookには指定シートがありません"
Else
With ThisWorkbook.Sheets(1)
.Cells(cnt, 1).Value = ws.Range("A1").Value
.Cells(cnt, 2).Value = ws.Range("A2").Value
End With
Set ws = Nothing
End If
.Close True
End With
Next
と、こうしたらどうなります?
|
|