2010-10-17 58 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