2010-10-17 60 views
0

我已经写在Excel中,在1列(文本)总结了项目一级方程式列是一个动态命名范围(Invoice_list_Item)的公式设置一个值(我的选择)基于范围内的每个项目,总结这些价值观,我现在用一个窗体,我想,以显示公式,而不是在工作簿本身,所以我的问题是,每次我写在用户窗体的代码它不工作;要么抛出一个错误,或不显示的值我都试过Application.Sum,Application.Sumif,Application.Sumproduct和最主要的一个我一直在努力使工作Application.Sum(如果(范围(问题使用SUM(IF(而不是SUMIF(

在纠正在该式中,以宏任何帮助将不胜感激。

=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)) 

回答

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))") 
+0

由于查尔斯的作品魅力;) – James 2010-10-18 15:17:01