На самом деле я не понимаю смысл этого кода, потому что вы циклически изменяете от 1 до 4, но вы пишете формулу всегда в одном и том же месте. Таким образом, формула ранее написанной формулы перезаписывается следующей, и только последний цикл останется на листе.
В этом нет никакого смысла.
Проблема в том, что в вашей формуле есть ошибки.
Как это можно отладить?
Распечатайте формулу в окне, чтобы вы могли проверить ее.
Debug.Print "=SUMIFS(Machines!C[-13],Machines!C[-15],"">""&'" & naam4 & "' !RC[-8],Machines!C[-14],""<""& '" & naam4 & "'!RC[-7], Machines!C[-27], ""<>OK"", Machines!C[-23], '" & naam4 & "' !R1C34)*86400"
Например, если naam4
равно L1
, результат будет следующим:
=SUMIFS(Machines!C[-13],Machines!C[-15],">"&'L1' !RC[-8],Machines!C[-14],"<"& 'L1'!RC[-7], Machines!C[-27], "<>OK", Machines!C[-23], 'L1' !R1C34)*86400
и вы увидите, что есть 2 дополнительных пробела, которые не разрешены в этих местах. Я отметил их ниже:
=SUMIFS(Machines!C[-13],Machines!C[-15],">"&'L1' !RC[-8],Machines!C[-14],"<"& 'L1'!RC[-7], Machines!C[-27], "<>OK", Machines!C[-23], 'L1' !R1C34)*86400
' ^ ^
' | |
' | remove this space | remove this space
Удалите эти пробелы из кода VBA.