【发布时间】:2019-01-25 21:15:28
【问题描述】:
我正在尝试根据用户按钮事件动态更改仪表板上的某些公式。
公式可能如下所示:
=SUMIFS(Table1[Amount];Table1[PickerName];$D$2;Table1[WayOfTransportGroup];H27;Table1[Date];">="&$I$2;Table1[Date];"
我想改变一小部分公式
Table1[PickerName];$D$2
进入
Table1[PickerName];$D$2;Table1[Type];""&"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 函数来更改作为公式一部分的字符串。
【问题讨论】: