| 
    
     |  | ▼すず さん: こんにちは
 
 よ〜くソースを見ました。Bookを開くのはこれで良いのでは?
 Private Sub Workbook_Open()
 Const cPath1 As String = "C:\Documents and Settings\デスクトップ\hoge.xls"
 Const cPath2 As String = "C:\Documents and Settings\デスクトップ\hogehoge.xls"
 
 Workbooks.Open cPath1 , UpdateLinks:=0
 Workbooks.Open cPath2 , UpdateLinks:=0
 End Sub
 
 >今はインデックスが有効範囲にない、と怒られています
 恐らくBook名か、シート名を間違えているだけです。
 
 >Application.WorksheetFunction.SumIf _
 (ws2.Range("C7:C441"), ws1.Range("F" & i).Value, ws2.Range("E7:E441"))
 というのを使ったことが無いのでなんとも言えませんが、問題ないと思います。
 with activesheet
 ・・・
 end with
 以外のところは、Book名か、シート名、range 等をまともに書いていれば問題ないです。
 
 |  |