VBA :Sumifs 返回零

VBA : Sumifs returning zero

我的脚本 VBA 有一个大问题,我想创建一个脚本 VBA 来计算 sheet 上一些单元格的总和并显示根据某些标准,他们在另一个 sheet 上。
但是函数 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

您正在尝试对文本求和,因此为零。

我把变量放入变量中以便于调试。

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。