Проблема с использованием SUM (If (вместо SumIf ( - PullRequest
0 голосов
/ 17 октября 2010

Я написал формулу в Excel, которая суммирует элементы в 1 столбце (текст), столбец является динамическим именованным диапазоном (Invoice_list_Item), формула устанавливает значение (из моего выбора) на основе каждого элемента в диапазоне и суммирует Значения, я сейчас использую пользовательскую форму, где я хотел бы отображать это уравнение, а не в самой книге, поэтому моя проблема в том, что каждый раз, когда я пишу этот код в пользовательской форме, он не работает; либо выдает ошибку, либо не отображает значение. Я пробовал 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 Ответ

2 голосов
/ 17 октября 2010

Вы можете использовать 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))")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...