Автор Тема: Excel VBA Макросы: Внести изменения в код макроса, который вставляет на лист формулу.  (Прочитано 50 раз)

Оффлайн dart Vader

  • Посетитель форума
  • Сообщений: 3
Этот код:
Код
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

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

Оффлайн Администратор

  • Administrator
  • Сообщений: 1684
Этот код создаёт эту формулу:
=ЕСЛИ(D6="";0;ЕСЛИ(AK6-AJ6*D6<0;0;AK6-AJ6*D6))

Что в этой формуле не так? Какая должна быть формула?

Оффлайн dart Vader

  • Посетитель форума
  • Сообщений: 3
Создаваемая формула вычитает некоторые данные, которые вычитать не нужно.
Я хочу, чтобы этот код создавал формулу:
=СУММПРОИЗВ((E11:AI11>D11)*(E11:AI11))-СЧЁТЕСЛИ(E11:AI11;">"&D11)*D11

Оффлайн Администратор

  • Administrator
  • Сообщений: 1684
    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

Оффлайн Администратор

  • Administrator
  • Сообщений: 1684
Написал вам письмо на почту с заголовком "Письмо с форума". Написал именно на почту, а не на форум.

Оффлайн Администратор

  • Administrator
  • Сообщений: 1684
написал вам повторно письмо на почту

Оффлайн Администратор

  • Administrator
  • Сообщений: 1684
и ещё одно написал (с другим содержимым)

Оффлайн dart Vader

  • Посетитель форума
  • Сообщений: 3
Письмо получил, с содержимым согласен!