Excel VBA Макросы: Внести изменения в код макроса, который вставляет на лист формулу.

Автор ESTerekhov, 11 июля 2019, 14:58

ESTerekhov

Этот код:
Код
If oOpt.Range("cl_pererabotka").Value = "Да" Then
        i_col = i_col + 1
        .Range(Cells(data_row, i_col), Cells(data_row + i_count - 1, i_col)).Formula = _
        "=IF(" & Cells(data_row, wh_col).Address(0, 0) & "="""",0," & _
        "IF(" & Cells(data_row, end_data_col + 2).Address(0, 0) & "-" & Cells(data_row, end_data_col + 1).Address(0, 0) & "*" & Cells(data_row, wh_col).Address(0, 0) & "<0,0," & _
         Cells(data_row, end_data_col + 2).Address(0, 0) & "-" & Cells(data_row, end_data_col + 1).Address(0, 0) & "*" & Cells(data_row, wh_col).Address(0, 0) & "))"
End If
[свернуть]

вставляет на лист "июль 2019", в столбец AN такую формулу:
=ЕСЛИ(D11="";0;ЕСЛИ(AK11-AJ11*D11<0;0;AK11-AJ11*D11))

Вместо этой формулы нужно вставлять эту формулу:
=СУММПРОИЗВ((E11:AI11>D11)*(E11:AI11))-СЧЁТЕСЛИ(E11:AI11;">"&D11)*D11

Как составить код?

[вложение удалено администратором]

Администратор

    If oOpt.Range("cl_pererabotka").Value = "Да" Then
        i_col = i_col + 1
        .Range(Cells(data_row, i_col), Cells(data_row + i_count - 1, i_col)).Formula = _
            "=SUMPRODUCT((RC[-" & i_col - 5 & "]:RC[-5]>RC[-" & i_col - 4 & "])*(RC[-" & i_col - 5 & "]:RC[-5]))-COUNTIF(RC[-" & i_col - 5 & "]:RC[-5],"">""&RC[-" & i_col - 4 & "])*RC[-" & i_col - 4 & "]"
    End If