| 
    
     |  | >neptune さん 
 ご回答ありがとうございます!
 頑張りました(*^-^*)
 
 
 再度現状のコードを載せさせてください。
 
 マスタのブックのWorkbookモジュールの所に
 
 Dim i As Integer, k As Integer
 Dim ws3 As Object
 
 ChDir "C:\Documents and Settings\デスクトップ"
 Workbooks.Open Filename:= _
 "C:\Documents and Settings\デスクトップ\hoge.xls", UpdateLinks:=0
 
 ChDir "C:\Documents and Settings\デスクトップ"
 Workbooks.Open Filename:= _
 "C:\Documents and Settings\デスクトップ\hogehoge.xls", UpdateLinks:=0
 として、マスタ以外の2つのブックを開くように指定。
 ※Workbookモジュールにはこれ以上の記載はありません。
 ※"wApp"は使用せず、マクロの記録をそのまま貼ることにしました。
 
 そしてマスタのシートも変更しました。
 Dim tBK1 As Workbook
 Set tBK1 = Workbooks("C:\Documents and Settings\デスクトップ\hoge.xls")
 Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i As Long
 
 Set ws1 = ThisWorkbook.Worksheets("マスタ")
 Set ws2 = tBK1.Worksheets("sheet1")
 Set ws3 = tBK1.Worksheets("sheet2")
 '変数を作成
 Dim AB As Long, BA As Long
 'SUMIFで合計する
 i = 8
 With ActiveSheet
 Do Until .Cells(i, 6).Value = ""
 AB = Application.WorksheetFunction.SumIf _
 (ws2.Range("C7:C441"), ws1.Range("F" & i).Value, ws2.Range("E7:E441"))
 BA = Application.WorksheetFunction.SumIf _
 (ws3.Range("C7:C47"), ws1.Range("F" & i).Value, ws3.Range("F7:F47"))
 If AB > BA Then
 ws1.Range("G" & i).Value = AB - BA
 ElseIf AB < BA Then
 ws1.Range("G" & i).Value = BA
 End If
 i = i + 1
 Loop
 End With
 
 End Sub
 
 マスタと同じ文字の入ったセルをhoge.xlsで参照し、
 それに付随する数値をhoge.xlsのsheet1とsheet2から
 引っ張ってきて反映するようにしているつもりです。
 ※sheet1とsheet2は各々データベース的イメージです。
 
 今はインデックスが有効範囲にない、と怒られています。
 
 |  |