2nd question 1st, no you don't need CutCopymode false with Filldown.
1st question, what are you doing? If you are putting in a formula it is better to apply the formula to the entire range rather than use either.
you would double any quotes and use the code below (Excel is smart enough to realise that you are filling a formula and will do any incrementation needed).=IF(C3<>"",SUMIF($C$3:$D$23,C3,$D$3:$D$23),"")
Sub Formula_Filldown()
With Application
.Calculation = xlManual
.ScreenUpdating = False
End With
Range("B3:B" & Range("A" & Rows.Count).End(xlUp).Row).Formula = "=IF(C3<>"""",SUMIF($C$3:$D$23,C3,$D$3:$D$23),"""")"
With Application
.Calculation = xlAutomatic
.ScreenUpdating = True
End With
End Sub