Я новичок в vba, я хочу знать, как реализовать формулу (sumproduct) на excel to vba. Формула получает значение из других листов в книге. Формула такова:Sumproduct на другом листе
=((SUMPRODUCT(-(Details!$C$7:$C$1182=A3),-(Details!$E$7:$E$1182=B3), -(Details!$S$7:$S$1182="Delivered"), -(Details!$G$7:$G$1182=C3), Details!$N$7:$N$1182)))
Это мой код;
Private Sub ATO()
Dim ws1 As Worksheet
Dim wb1 As Workbook
Dim last As Long
Dim i As Integer
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("Summary")
last = ws1.Cells(Rows.Count, "A").End(xlUp).Row
ws1.Range("I2:I" & last) = Application.SumProduct(?)
End Sub
Действительно ли мой код на правильном пути? Любой ответ будет оценен по достоинству.
Спасибо за ваш ответ. Как я могу реализовать формулу на vba? – iamjf
Btw, моя проблема не о sumif, его о sumproduct. Виноват. – iamjf
Хмм, я не совсем уверен, что хорошо понимаю вас, если вы хотите использовать результат формулы, например, использовать результат формулы suimifs, тогда вы просто делаете это, как я писал выше, например, Application.WorksheetFunction.sumif() это разница, когда вы хотите изменить формулу ячейки. Я думаю, что было бы более ясно, если бы вы прочитали два ресурса: Это вышеупомянутая документация рабочей таблицы .sumif от Microsoft: https://msdn.microsoft.com/en-us/library/office/ff193011.aspx Но это может быть более полезно для вас: https://colinlegg.wordpress.com/2012/04/08/sumif-from-vba/ – Phonebox