繁体   English   中英

VBA:Sumifs 返回零

[英]VBA : Sumifs returning zero

我的脚本 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

图片1

图2

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

我放入了变量以便于调试。

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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM