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