- ベストアンサー
EXCELで複数のブックの特定のセルの合計を求める方法
- EXCELで複数のブックの特定のセルの合計を求める方法について解説します。
- 異なる様式の表で構成された複数のシートをもつブックにおいて、特定の数値セルの合計を求めるための数式を紹介します。
- 特定のシートの特定の数値セルの合計を求める際に、各ブックの対象セルをクリックせずに簡単に計算する方法をお伝えします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 VBAは関数ではありません。言って見ればプログラムです。 下記はサンプルです。 実行する場合はテスト環境で行って下さい。 1)集計元ブック(1ブック.xls や 2ブック.xls 等)を適当なフォルダにまとめて置きます。(例 C:\Test) 2)新規ブックを開き、メニューのツール-マクロ-VisualBasicEditorでVBE画面を起動します。 3)VBE画面のメニューで挿入-標準モジュールに下記をコピペします。 4)VBE画面を閉じます。 5)上記と同じフォルダに適当な名前で保存します。 6)メニューのツール-マクロで Test を実行します。 これで集計元ブックのシートBのA5にある値を順次転記していきます。 Sub Test() Dim MyName As String, wb As Workbook On Error Resume Next MyName = Dir(ThisWorkbook.Path & "\*.xls", vbNormal) Do While MyName <> "" If UCase(MyName) <> UCase(ThisWorkbook.Name) Then Application.ScreenUpdating = False Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & MyName) ThisWorkbook.Worksheets("Sheet1").Range("A65536").End(xlUp) _ .Offset(1, 0).Value = wb.Worksheets("b").Range("A5").Value wb.Close End If MyName = Dir Loop Application.ScreenUpdating = True End Sub
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
同一ブック内のシート集計なら =SUM(Sheet1:Sheet4!A1) のように最初と最後を出来ますが、他ブック間はわかりません。 それより50ブックもリンクして不安定になりませんか? 私ならリンクでなくVBAで集計するかな。
補足
ありがとうございます。そうなんです。同一ブック内での方法は知っていたのですが,<例題>のような場合の簡単な集計方法が分かりません。 50ブックのリンクですが,今のところ大丈夫です。というのも,<例題>でいうと,各ブックのbのA5を,別の集計用一覧表にひとつずつ呼び出して,それを集計するという方法で答えを求めています。(別のブックの集計用シートのA1セルに「=[1ブック.xls]b!$A$5」,A2セルに「=[2ブック.xls]b!$A$5」,A3セルに「=3ブック.xls]b!$A$5」,A4セルに=「4ブック.xls]b!&A&5」,……と入力(「=」の後に対象セルをそれぞれクリックするだけ)し,あとはA1~A*をオートサムで求めています。 これって,すごく面倒で… 「VBA」ってどのような関数ですか?
お礼
ありがとうございました。 御礼が大変遅くなり,申し訳ありません。 「マクロ」なんですね。 まだ,よく理解できていませんが,今回の案件意外にも幅広く活かせそうです。修得に励みます。 今後も,よろしくお願いします。