• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELで複数のブックの特定のセルの合計を求める方法は?)

EXCELで複数のブックの特定のセルの合計を求める方法

このQ&Aのポイント
  • EXCELで複数のブックの特定のセルの合計を求める方法について解説します。
  • 異なる様式の表で構成された複数のシートをもつブックにおいて、特定の数値セルの合計を求めるための数式を紹介します。
  • 特定のシートの特定の数値セルの合計を求める際に、各ブックの対象セルをクリックせずに簡単に計算する方法をお伝えします。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.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

knykny
質問者

お礼

ありがとうございました。 御礼が大変遅くなり,申し訳ありません。 「マクロ」なんですね。 まだ,よく理解できていませんが,今回の案件意外にも幅広く活かせそうです。修得に励みます。 今後も,よろしくお願いします。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

同一ブック内のシート集計なら =SUM(Sheet1:Sheet4!A1) のように最初と最後を出来ますが、他ブック間はわかりません。 それより50ブックもリンクして不安定になりませんか? 私ならリンクでなくVBAで集計するかな。

knykny
質問者

補足

ありがとうございます。そうなんです。同一ブック内での方法は知っていたのですが,<例題>のような場合の簡単な集計方法が分かりません。 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」ってどのような関数ですか?

関連するQ&A