【发布时间】:2020-12-13 06:56:48
【问题描述】:
我尝试替换字符串形式的值以创建公式:
单元格:
"XY=(TRIM(CONCATENATE(AH11, AH12)))"
现在我在 VBA 中使用了一个经典的替换函数:
Cells.Replace What:="XY", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
当用宏记录器记录它时,它可以工作并且公式会出现,但如果用宏再次运行它就不起作用。
有人知道为什么吗?
这背后的全部原因是我创建了一个“公式创建器”,它应该基于下拉菜单创建一个公式,这是下拉连接的输出。
谢谢!
【问题讨论】:
-
发生了什么或没有发生什么?您正在隐式处理
ActiveSheet- 在Cells之前指定工作簿/工作表会很好。 -
因此您可以通过在“=”之前只使用一张纸和一个带有字符串的公式来复制它。现在录制一个 Marco 来替换它。它可以工作,但是当再次尝试应用宏时它不起作用。
-
有趣的是,我可以用任何其他值替换它。所以用 XY 换 YX 是可行的,但不是 XY 什么都没有。
标签: excel vba replace excel-formula