[[20180310103713]] 『複数のブックを一つにまとめる』(LIFE) ページの最後に飛ぶ

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

 

『複数のブックを一つにまとめる』(LIFE)

同じフォルダ内に20このブックがあります。
書式は全て同じでそのデータを合計したものを同じ書式の別フォルダのブックに表示させるには?

Aさんの3月ブック
3/1   3/2   3/3   3/4
 5   5     5    5

Bさんの3月ブック
3/1   3/2   3/3   3/4
 2   2     2    2

3月の合計のブック(別フォルダ)
3/1   3/2   3/3   3/4
7    7     7    7

データは各自20名が毎日入力します。
進捗状況は必要ないので月末に合計のブックにデータを取りこめられれば
いいなと思っています。
20このブックを開かないでできるやり方がありましたら教えていただければ
助かります。

< 使用 Excel:Excel2016mac、使用 OS:Windows7 >


 >開かないでできるやり方がありましたら....
 各ブックの対象シート名、及び範囲が事前に判明している場合は可能です。
(seiya) 2018/03/10(土) 11:12

編集衝突したけどそのまま投稿します。

>20このブックを開かないでできるやり方
ということなので、「エクセル、外部参照」なんてキーワードでネット検索するとヒントになるかもしれません。
(もこな2) 2018/03/10(土) 11:15


seiyaさん  ありがとうございます。
各ブックの対象シート名、及び範囲は事前に判明しています。

もこな2さん  ありがとうございます。
「エクセル、外部参照」でネット検索してみますね。

(LIFE) 2018/03/10(土) 11:18


 各ブックの対象シート名がSheet1でA2:AE2(31日分)を列ごとに合計。
 結果をc:\temp1\book1.xlsxのA2:AE2に表示

 Sub test()
     Dim myDir As String, fn As String, wb As Workbook
     Dim a(1 To 1, 1 To 31) As Double, ii As Long
     Const mySh As String = "Sheet1"
     With Application.FileDialog(msoFileDialogFolderPicker)
         If .Show Then myDir = .SelectedItems(1) & "\"
     End With
     If myDir = "" Then Exit Sub
     Set wb = Workbooks.Open("c:\temp1\book1.xlsx")
     fn = Dir(myDir & "*.xlsx")
     Do While fn <> ""
         For ii = 1 To 31
             a(1, ii) = a(1, ii) + ExecuteExcel4Macro("'" & myDir & "[" & fn & "]" & mySh & "'!r2c" & ii)
         Next
         fn = Dir
     Loop
     wb.Sheets(1).Range("a2").Resize(, UBound(a, 2)).Value = a
 End Sub
(seiya) 2018/03/10(土) 11:56

seiyaさん
ありがとうございます。

マクロは職場では使えなくて...。

わかってもいないのですが、残念です。

(LIFE) 2018/03/10(土) 17:20


 そういうことなら、
 >各ブックの対象シート名、及び範囲は事前に判明しています。
 数式を埋め込んでいくしかないね

 こんな感じになるのかな?

 ='c:temp1:[Aさんの3月ブック.xlsx]sheet1'!A2
 ='c:temp1:[Bさんの3月ブック.xlsx]sheet1'!A2

 Macが無いので検証できず。
(seiya) 2018/03/10(土) 17:49

コメント返信:

[ 一覧(最新更新順) ]


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