使用SUM的问题(如果(而不是SumIf(

时间:2010-10-17 12:06:19

标签: excel vba excel-vba

我在Excel中编写了一个公式,用于汇总1列(文本)中的项目,列是动态命名范围(Invoice_list_Item),公式根据范围中的每个项目设置一个值(我的选择)并汇总那些值,我现在使用Userform,我想显示那个方程而不是工作簿本身,所以我的问题是每次我在userform中编写这个代码它都不起作用;要么抛出错误,要么不显示值。我已经尝试过Application.Sum,Application.Sumif,Application.Sumproduct以及我一直在尝试做的主要工作Application.Sum(If(Range(

非常感谢将此公式更正为宏的任何帮助。

=SUM(IF(Invoice_list_Item="1/4 Item",0.25,0)+IF(Invoice_list_Item="1/2 Item",0.5,0)+IF(Invoice_list_Item="1 Item",1,0))

1 个答案:

答案 0 :(得分:2)

您可以使用Application.Evaluate(这适用于数组公式)来评估字符串,就像它是Excel公式一样:

 Dim vResult As Variant
    vResult = Application.Evaluate("=SUM(IF(Invoice_List_Item=""1/4 Item"",0.25,0)+IF(Invoice_List_Item=""1/2 Item"",0.5,0)+IF(Invoice_List_Item=""1 Item"",1,0))")