[[20080821183744]] 『複数のBookのデータを新たなBookの一つのSheetにax(さくら) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数のBookのデータを新たなBookの一つのSheetにまとめたい』(さくら)

 目的
 アイテム別に評価をするためのフォームをExcelで作成し、複数の人の回答を一つのSheetに統合したい。

 フォームの例はこんな感じです。
 アイテム3のように、回答のないアイテムもあり得ます。

        観点A  観点B  観点C
 アイテム1  3        5        4 
 アイテム2  2        1        3
 アイテム3  
 アイテム4  2        3        4  

 Sheet名はすべて同じ「Sheet1」、行タイトル(アイテム名)、列タイトル(評価の観点)もすべて同じです。評価の数字だけがBookによって変わります。
 集めたBookを、専用の一つのフォルダに保管しようと思っています。よって、Book毎にファイル名は異なります。ファイル名を指定して統合するのではなく、同じフォルダ内のすべてのBookを自動的に統合したいです。また、一つ一つのBookを手作業で開くのも避けたいです。とにかくファイル数が多い予定なので。。。
 “統合”と言っているのは、次のように一つのSheetにレコード(行)をまとめるという意味です。

        観点A  観点B  観点C
 アイテム1  3        5        4 
 アイテム2  2        1        3
 アイテム3  
 アイテム4  2        3        4 
 アイテム1  4        4        4 
 アイテム2  3        3        4
 アイテム3  2        3        4
 アイテム4  4        5        2     

最終的にはアイテム毎、観点毎の平均値を集計することが目的です。
アドバイスお願いします!


 こんな感じでどうでしょう?

 Sub test()
 Dim myDir As string, fn As String, myAddress As String
 myDir = "c:\test"   '<- フォルダパス指定
 myAddress = "A2:D5" '<- 抽出範囲指定
 fn = Dir(myDir & "\*.xls")
 Do While fn <> ""
     With Range(myAddress)
         ThisWorkbook.Sheets(1).Range("a" & Rows.Count).End(xlUp)(2) _
         .Resize(.Rows.Count, .Columns.Count).Formula = _
         "='" & myDir & "\[" & fn & "]sheet1'!" & .Cells(1).Address(0,0)
     End With
     fn = Dir
 Loop
 End Sub
 (seiya)


試してみました、パーフェクトでした!感謝いたします!
(さくら)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.