SUMIF返回零

时间:2015-07-30 16:41:14

标签: excel-vba sumifs vba excel

以下是两个工作表的片段

Sheet1 - Totals

Sheet 2 - 2014-2015

这是我在第一张表中的代码,用于更改下拉列表的选择。会有更多案例,但我的问题在于SUMIF。任何时候Sheet2上的B列与Sheet2上的相应列A项匹配,在Sheet2上与C列相加。

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D1")) Is Nothing Then
    Select Case Range("D1")
        Case "2014-2015": Cells(2, "B") = WorksheetFunction.SumIf(Worksheets("2014-2015").Range("B2:B22"), A2, Worksheets("2014-2015").Range("C2:C22"))
        Case Else: Cells(2, "B") = 8
  End Select
End If
End Sub

问题是它总是返回0.希望有关编辑代码的帮助,以使其显示正确的总数。

谢谢,

1 个答案:

答案 0 :(得分:2)

看起来问题在于它尝试匹配的值,仅在A2公式中指定为Sumif。它无法识别您要匹配单元格A2中的值。需要使用类似于Worksheets("SummarySheet").Range("A2").Value的引用来引用该函数的其他参数。