| 
    
     |  | >bookが20個ほど これ(処理対象のブック)のみを、一つの専用フォルダーに保存して下さい。
 そのフォルダーのパスを、仮に
 
 C:\Documents and Settings\User\My Documents\ExcelFiles
 
 とします。次に新規ブックを作成し、その先頭(左端)シートのA1:M1に
 "店名","1月","2月"・・・と入力しておきます。
 VBEを開いてメニューの「挿入」「標準モジュール」を選択し、挿入された
 モジュールに以下のマクロを入れて下さい。
 
 Sub MyShop_SaleData()
 Dim MyF As String
 Dim CkC As Variant
 Dim WS As Worksheet
 Dim xR As Long
 Dim C As Range
 Const Ph As String = _
 "C:\Documents and Settings\User\My Documents\ExcelFiles\"
 
 Application.ScreenUpdating = False
 Set WS = ThisWorkbook.Worksheets(1)
 MyF = Dir(Ph & "*.xls")
 Do Until MyF = ""
 xR = WS.Cells(65536, 1).End(xlUp).Row + 1
 WS.Cells(xR, 1).Value = Left$(MyF, Len(MyF) - 4)
 Workbooks.Open Ph & MyF
 With ActiveWorkbook
 For Each C In .Worksheets(1).Rows(1).SpecialCells(2)
 CkC = Application.Match(C.Value, WS.Range("A1:M1"), 0)
 If Not IsError(CkC) Then
 WS.Cells(xR, CkC).Value = C.Offset(1).Value
 End If
 Next
 .Close False
 End With
 MyF = Dir()
 Loop
 Application.ScreenUpdating = True: Set WS = Nothing
 MsgBox "データの転記を完了しました", 64
 End Sub
 
 定数 Ph を正確なパス(末尾は必ず"\"にする)に修正し、実行してみて下さい。
 なお各店ブックのデータは、そのブックの先頭シートにあるものとしています。
 もしそうなっていなければ、先頭へ移動して上書き保存しておいて下さい。
 
 |  |