我在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))
答案 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))")