- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】開いている複数のブックの数字を全て足す)
【VBA】開いている複数のブックの数字を全て足す
このQ&Aのポイント
- 既に開いている複数のブック(最小で1個、最大で10個存在します)が有り、各ブックの一番左のシートのD列任意の行には数字が有ります。
- マクロ開始時は、上記ブックは、どれもアクティブではありません。
- 各ブックのD列の数字を合計し、メッセージボックスに表示する方法をご教示下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
資料" & n2 & ".xlsxが開いているかどうか(1 to 10で8個しか開いていないとn2=9の時に資料9.xlsxがないのでエラーになります)を調べて、開いていれば加算部分を実行するようにすればいけると思います。以下はWorkbooks.Countで開いているブックの数だけループします、別ブックが開いている可能性もあるので資料" & n2 & ".xlsxが開いているかのチェックはしています。 Sub テスト() Dim n2 As Long Dim mSum As Long Dim Wb As Workbook For n2 = 1 To Workbooks.Count For Each Wb In Workbooks If Wb.Name = "資料" & n2 & ".xlsx" Then Workbooks("資料" & n2 & ".xlsx").Activate mSum = mSum + Sheets(1).Cells(Rows.Count, "D").End(xlUp).Value Exit For End If Next Next MsgBox "総計 : " & mSum, vbInformation End Sub