| 
    
     |  | いよいよ集大成。 1つのブックにシートが大量になってしまったため、
 マスタとその他2つの計3つに分けました。
 
 しかし、今まで動いていたマクロが動かなくなりました。
 
 マスタのブックのWorkbookモジュールの所に
 
 Dim wApp1 As Excel.Application, wApp2 As Excel.Application
 
 Set wApp1 = New Application
 wApp1.Visible = True
 wApp1.Workbooks.Open "C:\Documents and Settings\デスクトップ\hoge.xls"
 
 Set wApp2 = New Application
 wApp2.Visible = True
 wApp2.Workbooks.Open "C:\Documents and Settings\デスクトップ\hogehoeg.xls"
 として、マスタ以外の2つのブックを開くように指定しました。
 
 そしてマスタのブックには
 Private Sub test1()
 
 Dim wApp1 As Workbook
 On Error Resume Next
 Set wApp1 = 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 = wApp1.Worksheets("sheet1")
 Set ws3 = wApp1.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のsheet1とsheet2から探し出し、
 マスタに反映させる、というものです。
 
 一切数字が反映されなくなってしまったのですが、
 コード自体が間違っているのでしょうか?
 
 というか、マスタ以外の2つのブックが永遠に開かれていくという罠に陥っておりますが。
 
 |  |