| 
    
     |  | 同じようなことで困っているのでこちらの続きで失礼いたします。 
 Excel2002使用です。
 
 同じブック内の資料シート中C列に果物の名前の一覧があり、
 DATAシート中A列には上記集計対象と同じ果物の名前があり、
 H列にはA列の名前と対になるお店の名前が入っています。
 
 資料シートの一覧で順番にDATAシート上から
 
 「果物の名前 且 お店の名前のないもの」の件数
 
 を集計したく、SUMPRODUCTを使って集計しようとしました。
 
 ichinoseさんがご回答されていることを参考に作成してみたのですが、
 「型が一致しません」となってしまいます。
 
 Sub Test()
 Dim WS_Data As Worksheet
 Dim WS_In As Worksheet
 Dim TRange As Range '集計対象範囲
 Dim SfRange As String  '集計範囲1
 Dim By2Range As String '集計範囲2
 Dim SFB As String '集計名
 Dim Bcnt As Integer
 
 Set WS_Data = ThisWorkbook.Worksheets("DATA")
 Set WS_In = ThisWorkbook.Worksheets("資料")
 Set TRange = WS_In.Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp)) '資料範囲
 
 With WS_Data
 '集計範囲1
 SfRange = .Name & "!" & .Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp)).Address
 '集計範囲2
 By2Range = .Name & "!" & .Range(.Cells(3, 8), .Cells(.Rows.Count, 8).End(xlUp)).Address
 
 '集計
 For Each FERange In TRange
 SFB = FERange.Value
 Bcnt = Application.Evaluate( _
 "=SUMPRODUCT((" & SfRange & "=" & SFB & ")*(" & By2Range & "<>""""))")
 
 MsgBox Bcnt
 Next
 
 End With
 End Sub
 
 ウォッチ式で確認したところ、以下のようになっていました。
 -----------------------------------
 SfRange="DATA!$A$2:$A$105"
 By2Range="DATA!$H$2:$H$105"
 SFB="りんご"
 -----------------------------------
 
 ウォッチ式の内容を代入して試したところ、エラーは出ないのですが、
 Bcntは0となってしまいました。
 
 代入するSfRangeとBy2Rangeを以下のように""を外してみたところ、
 正しい計算結果が得られました。
 -----------------------------------
 SfRange=DATA!$A$2:$A$105
 By2Range=DATA!$H$2:$H$105
 -----------------------------------
 
 範囲については日々変わっていくので固定することが出来ません。
 どうしたらいいかわかりますでしょうか。
 
 よろしくお願いいたします。
 
 
 |  |