我的宏正在删除一些电子表格(让我们称之为“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”?
答案 0 :(得分:0)
删除工作表时,删除该实体。虽然您随后创建了一个具有相同名称的新工作表,但它不是同一个实体。
因此,当您删除工作表时,引用它的其他工作表中的公式将丢失该引用。创建具有相同名称的新工作表永远不会修复链接。
覆盖基础表中的数据会不会更简单,因此保留所有链接并完全消除问题?
答案 1 :(得分:0)
= SUM(INDIRECT( “基地AA:AA”))
INDIRECT采用字符串参数,因此在删除工作表时不会丢失引用。