プロが教えるわが家の防犯対策術!

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

A 回答 (2件)

エクセルのヘルプ(Officeアシスタント)で


「3-D 参照を使った複数のシートの同じセルやセル範囲の参照」を見てください。詳しく書かれています。

この回答への補足

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

補足日時:2002/02/04 21:00
    • good
    • 0

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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!