VBA:Sumifs返回零

时间:2018-02-25 20:42:50

标签: excel vba sumifs

我的脚本VBA存在很大问题,我想创建一个脚本VBA,它可以在工作表上创建一些单元格的总和,并根据某些标准在另一个工作表上显示它们。
但函数SumIfs返回零值。

这是我的剧本:

If Worksheets("Test").Range("B2").Text = Worksheets("Nomen").Range("K3").Text Then
    Worksheets("Test").Range("C23").Value = Application.WorksheetFunction.SumIfs(Worksheets("DETAILS").Range("H2:H174"), Worksheets("DETAILS").Range("B2:B174"), Worksheets("Nomen").Range("K3"), Worksheets("DETAILS").Range("J2:J174"), Worksheets("Test").Range("C2")
End If

Picture1

Picture2

1 个答案:

答案 0 :(得分:0)

你试图将文本加总为零。

我投入变量以便于调试。

Sub test()
Dim wb As Workbook
Set wb = ThisWorkbook

Dim sumRange As Range
Set sumRange = wb.Worksheets("DETAILS").Range("H2:H174")

Dim critRange1 As Range
Set critRange1 = Worksheets("DETAILS").Range("B2:B174")

Dim crit1 As Variant
crit1 = Worksheets("Nomen").Range("K3")

Dim critRange2 As Range
Set critRange2 = Worksheets("DETAILS").Range("J2:J174")

Dim crit2 As Variant
crit2 = Worksheets("Test").Range("C2")

 MsgBox Application.WorksheetFunction.SumIfs(sumRange, critRange1, crit1, critRange2, crit2)


End Sub

如果我用1填充每个范围并尝试匹配一个我得到174回来。如果我使用" A"填充sumRange,就像你使用文本一样,我得到0.即如果我用A替换所有1'