Application.WorksheetFunction.SumIfs 有列表对象
Application.WorksheetFunction.SumIfs with list objects
我有一个包含列表对象的工作表函数,但它没有给出正确的值。
输出始终为 0。
Sub volsumif()
Application.ScreenUpdating = False
Set wb2 = ThisWorkbook
Set ws1 = wb2.Sheets("Dist_Summary")
'Set a = wb2.Sheets("SALES").ListObjects("SALES").Range
Set ws2 = wb2.Sheets("Dist_Perf Total Brands")
Set ws3 = wb2.Sheets("SALES")
'Set ws4 = wb2.Sheets("SALES_Target").ListObjects("SALES_TARGET").ListRows.Count
Set ws5 = wb2.Sheets("Dump")
Set ws6 = wb2.Sheets("Top_Accts")
Set ws7 = wb2.Sheets("Per_Chn")
//before ws3.range("Z:Z")
ws2.Range("B83") = Application.WorksheetFunction.SumIfs _
(ws3.ListObjects("SALES").DataBodyRange(0, 26), _
ws3.ListObjects("SALES").DataBodyRange(0, 4), _
ws2.Range("A82"))
End Sub
您是否正在尝试访问整个列作为 Sumifs
中的参数?
如果是这样,试试这个:
ws2.Range("B83") = Application.WorksheetFunction.SumIfs _
(ws3.ListObjects("SALES").ListColumns(26).DataBodyRange, _
ws3.ListObjects("SALES").ListColumns(4).DataBodyRange, _
ws2.Range("A82"))
我有一个包含列表对象的工作表函数,但它没有给出正确的值。
输出始终为 0。
Sub volsumif()
Application.ScreenUpdating = False
Set wb2 = ThisWorkbook
Set ws1 = wb2.Sheets("Dist_Summary")
'Set a = wb2.Sheets("SALES").ListObjects("SALES").Range
Set ws2 = wb2.Sheets("Dist_Perf Total Brands")
Set ws3 = wb2.Sheets("SALES")
'Set ws4 = wb2.Sheets("SALES_Target").ListObjects("SALES_TARGET").ListRows.Count
Set ws5 = wb2.Sheets("Dump")
Set ws6 = wb2.Sheets("Top_Accts")
Set ws7 = wb2.Sheets("Per_Chn")
//before ws3.range("Z:Z")
ws2.Range("B83") = Application.WorksheetFunction.SumIfs _
(ws3.ListObjects("SALES").DataBodyRange(0, 26), _
ws3.ListObjects("SALES").DataBodyRange(0, 4), _
ws2.Range("A82"))
End Sub
您是否正在尝试访问整个列作为 Sumifs
中的参数?
如果是这样,试试这个:
ws2.Range("B83") = Application.WorksheetFunction.SumIfs _
(ws3.ListObjects("SALES").ListColumns(26).DataBodyRange, _
ws3.ListObjects("SALES").ListColumns(4).DataBodyRange, _
ws2.Range("A82"))