替换部分配方

时间:2015-02-10 13:03:53

标签: vba excel-vba replace excel

我的宏正在删除一些电子表格(让我们称之为“Base”)并将其替换为相似的,相同的名称和格式,但使用不同的数据。其他表中的公式引用了“基础”电子表格。执行宏后,这个公式返回#ADR!错误,公式已更改,例如:

=SUM(Base!AA:AA)

becames:

=SUM(#ADR!AA:AA)

我想在每个公式中将“#ADR”替换为“Base”,以消除此错误。我一直在努力的一个方法是:

Selection.Replace What:="#ADR", Replacement:="Base", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

但它不起作用,即使当我尝试使用Ctrl + h快捷方式进行手动操作时,一切都很完美。

如何更换“#ADR!”使用宏在每个选定的公式中使用“Base”?

2 个答案:

答案 0 :(得分:0)

删除工作表时,删除该实体。虽然您随后创建了一个具有相同名称的新工作表,但它不是同一个实体。

因此,当您删除工作表时,引用它的其他工作表中的公式将丢失该引用。创建具有相同名称的新工作表永远不会修复链接。

覆盖基础表中的数据会不会更简单,因此保留所有链接并完全消除问题?

答案 1 :(得分:0)

= SUM(INDIRECT( “基地AA:AA”))

INDIRECT采用字符串参数,因此在删除工作表时不会丢失引用。