- ベストアンサー
複数のブックの同じセルを参照したい、(Excel2000)
Win98でExcel2000を使っています。 あるフォルダにまったく同じレイアウトのブックが、社員の人数分あります。 (Accessから社員のマスタを使ってはきだしたブックなので、数やファイル名は可変です。) これらのブックのある1つのセルを参照して合計値等を計算したいと思っています。 (イメージ的には、全ブックを串刺しにするような感じでしょうか?) やり方が思いつきません。 何かい方法ありますでしょうか?
- みんなの回答 (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)
- Taninohito
- ベストアンサー率41% (96/232)
エクセルのヘルプ(Officeアシスタント)で 「3-D 参照を使った複数のシートの同じセルやセル範囲の参照」を見てください。詳しく書かれています。
補足
さっそくありがとうございます。 ただ一括処理をかけたいなと思っているのですが、 なんとかExcelだけの機能でできないものかと思いまして。 やっぱりVBAで組むしかないですよね。