У вас неверный синтаксис для вашей формулы. Вы используете ссылку VBA в формуле Excel (будет разбивать точки):
ActiveCell.Formula = _
"=SUMIF( _ 'Application
Range(cells(1,2),cells(lastrow,2)) _ 'VBA
,TRUE, _ 'Application
Range(cells(1,3),cells(lastrow,3)) _ 'VBA
" 'Application
Чтобы формула отображалась в ячейке, вы должны отобразить ее так:
ActiveCell.Formula = "=SUMIF(B1:B" & lastrow & ",TRUE,A1:A" & lastrow & ")"
Если вы хотите, чтобы VBA выполнял эту работу, и вы хотите вывести только значение:
ActiveCell.Value = Application.SUMIF(Range(Cells(1,2),Cells(lastrow,2)),"TRUE",Range(Cells(1,1),Cells(lastrow,1)))
В связи с изменением кода вы ранее использовали столбец 1 (a) в качестве диапазона сумм, хотя в своем коде вы указали столбец 3 (c) ... я использовал 1 в моих примерах кода из вашей рабочей SUMIF
функция.