• ベストアンサー

複数のブックの同じセルを参照したい、(Excel2000)

Win98でExcel2000を使っています。 あるフォルダにまったく同じレイアウトのブックが、社員の人数分あります。 (Accessから社員のマスタを使ってはきだしたブックなので、数やファイル名は可変です。) これらのブックのある1つのセルを参照して合計値等を計算したいと思っています。 (イメージ的には、全ブックを串刺しにするような感じでしょうか?) やり方が思いつきません。 何かい方法ありますでしょうか?

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

AccessからエクスポートしたExcelファイルなら各BookのSheetは1枚ですよね。 これを前提に書いてみました。(各ブックのSheetの構成が異なっていれば違ったものになります) また、あるフォルダのExcelファイルは全て集計の対象にしています。 集計用の新規Bookを作って、下記マクロを標準モジュールに貼り付けます。 集計するシートを保存したドライブ、フォルダを DrvDir = "D:\・・・\・・・\"にセットして下さい。各BookのA1セルの値をSheet1に表示して集計します。 Public Sub BooksTotal()   Dim eBookname As String  'Book名   Dim DrvDir As String    'ドライブフォルダ   Dim rw As Long       '行カウンタ   Dim TargetCell As String  '集計するセル   TargetCell = "A1"            '*** 集計するセルを指定   DrvDir = "D:\・・・\・・・\"      '*** ドライブフォルダは指定する   With Worksheets("Sheet1")     .Range("A:B").ClearContents     '表示用のAB列をクリア     .Range("A1") = "シート名"     .Range("B1") = TargetCell & " の値"     rw = 1     'フォルダを検索してxlsファイルを特定する     eBookname = Dir(DrvDir & "*.xls")     While eBookname <> ""       '順にSheet1に書き出していく       rw = rw + 1       .Range("A" & rw) = eBookname       .Range("B" & rw) = "='" & DrvDir & "[" & eBookname & "]'!" & TargetCell       eBookname = Dir     Wend     .Range("B" & rw + 1).Formula = "=Sum(B2:B" & rw & ")"   End With End Sub

その他の回答 (1)

回答No.1

エクセルのヘルプ(Officeアシスタント)で 「3-D 参照を使った複数のシートの同じセルやセル範囲の参照」を見てください。詳しく書かれています。

maho0515
質問者

補足

さっそくありがとうございます。 ただ一括処理をかけたいなと思っているのですが、 なんとかExcelだけの機能でできないものかと思いまして。 やっぱりVBAで組むしかないですよね。

関連するQ&A