Изначально я хотел изменить части формулы в каждой 82-й строке, где формула выглядит как
=SUMIFS($BJ:$BJ;$BO:$BO;$BI7382;$A:$A;"<="&$A7382;A:A;">"&A7383)
Итак, я хотел изменить каждую формулу для тысячи строк с (...;$BI7382;...;"<="&$A7382;...)
на:
(...;$BI$7382;...;"<="&$A$7382;...)
где $7382
всегда на одну строку перед строкой, включающей формулу выше.
Поэтому следующая строка с этой формулой будет $ 7464, где мой код должен измениться с (...;$BI7463;...;"<="&$A7463;...)
на:
(...;$BI$7463;...;"<="&$A$7463;...)
и так далее.
У меня был успех с вашим кодом
For i = 7383 To Cells(Rows.Count, 1).End(xlUp).Row Step 82
Cells(i, 1).Formula = Replace(Cells(i, 1).Formula, "$BI" & i - 1, "$BI$" & i - 1)
Cells(i, 1).Formula = Replace(Cells(i, 1).Formula, "$A" & i - 1, "$A$" & i - 1)
Но: есть один столбец, в котором есть ячейки с
=SUMIFS($BJ:$BJ;$BO:$BO;$BI7382;$A:$A;<="&$A7382;A:A;">"&$A7383)
где последнее значение изменилось с
">"&A7383to">"&$A7383
так, что последние два значения имеют абсолютные ссылки на столбцы
Поскольку код находит два значения с $ A ... функция замены не работает должным образом
(Ячейки выглядят как =SUMIFS($BJ:$BJ;$BO:$BO;$BI7382;$A:$A;"<="&$A7382;A:A;">"&
после выполнения кода