Как я могу вставить определенный текст в уже существующие формулы с VBA? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь заменить текст существующей формулы другим текстом, но код просто работает для изменения с x на y, а не для x на z, поскольку он показывает ошибку времени выполнения 1004.

У кого-нибудь есть идея, почему?

Sub MySub()
Dim x As String
Dim y As String
Dim z As String
Dim i As Integer

x = "$S:$S"
y = "$R:$R"
z = "$R:$R;"" <= ""&J$2;[activated201902.xlsx]riskmodel_new!$R:$R;"" > ""&I$2)"

For i = 1 To 10
Cells(i, "E").FormulaLocal = Replace(Cells(i, "E").FormulaLocal, x, y)
Cells(i, "J").FormulaLocal = Replace(Cells(i, "J").FormulaLocal, x, z)
Next i

End Sub

1 Ответ

0 голосов
/ 28 марта 2019

В строках формул в VBA вам придется удваивать кавычки, чтобы вы были на правильном пути:

Dim x As String
Dim y As String
Dim z As String
Dim i As Integer

x = "$S:$S"
y = "$R:$R"
z = "$R:$R;"""" <= """"&J$2;[activated201902.xlsx]riskmodel_new!$R:$R;"""" > """"&I$2)"

For i = 1 To 10
Cells(i, "E").FormulaLocal = Replace(Cells(i, "E").FormulaLocal, x, y)
Cells(i, "J").FormulaLocal = Replace(Cells(i, "J").FormulaLocal, x, z)
Next i

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...