Это мой фрагмент кода:
Код: Выделить всё
newOverviewSheet.Range("F2").Value = "=IFERROR(INDEX('Target'!$E:$E,MATCH(1,(A2='Target'!$B:$B)*(B2='Target'!$C:$C)*(E2='Target'!$A:$A),0)),\"- %\")"
Код: Выделить всё
=IFERROR(INDEX(Target!$E:$E,MATCH(1,(A2=@Target!$B:$B)*(B2=@Target!$C:$C)*(E2=@Target!$A:$A),0)),\"- %\")
Я уже пробовал заменить @ на newOverviewSheet.Range("F2") .Replace(What="@", replace="", LookAt=1) но, к сожалению, это не сработает. Я также пытался заменить другие части формулы, чтобы он вставлял текст, а затем помещал части в формулу, но это не сработало.
Если я использую замену функция в Excel работает. Я записал макрос и попытался «перевести» параметры VBA на Python, но мне не удалось заставить его работать. Макрос, который работал в Excel, выглядит следующим образом:
Код: Выделить всё
Cells.Replace What:="@", Replacement:="", LookAt:=xlPart, SearchOrder:= xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Подробнее здесь: https://stackoverflow.com/questions/788 ... references