Я пытаюсь динамически изменить некоторые формулы на панели инструментов на основе события пользовательской кнопки.
Формула может выглядеть примерно так:
= SUMIFS (Таблица1 [Сумма]; Table1 [PickerName]; $ D $ 2; Table1 [WayOfTransportGroup]; H27; Table1 [Date]; "> =" & $ I $ 2; Table1 [Date]; "<=" & $ I $ 3) </p>
Я хочу изменить небольшую часть формулы
Table1 [PickerName]; $ D $ 2
на
Table1 [PickerName]; $ D $ 2; Table1 [Тип]; "<>" & "gt 10 minuten";
Я написал некоторый код ниже.Который, кажется, работает для обычных строк, но он не может заменить части, которые являются частью формулы.
Если ячейка имеет значение типа "Table1 [PickerName]; $ D $ 2" , тогда код работает и строка заменяется.Но если значение ячейки изменилось на = "Table1 [PickerName]; $ D $ 2" (обратите внимание на символ =), тогда код больше не сможет заменить строку.
Sub ChangeScopeClick()
Dim fnd As Variant
Dim rplc As Variant
fnd = "Table1[PickerName];$D$2"
rplc = "Table1[PickerName];$D$2;Table1[Type];""<>""&""gt 10 minuten"";"
For Each c In Worksheets("Dashboard").Range("C7:Y31")
c.Replace what:=fnd, Replacement:=rplc, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next c
End Sub
Я не могу понять, как я должен использовать функцию Replace, чтобы изменить строку, которая является частью формулы.