替换部分公式
Replace part of formula
我的宏正在删除一些电子表格(我们称它为 "Base")并用相似的、相同的名称和格式但不同的数据替换它。其他工作表中的公式引用了 "Base" 电子表格。此公式在执行宏后,return #ADR!错误,公式被更改,例如:
=SUM(Base!AA:AA)
变成:
=SUM(#ADR!AA:AA)
我想在每个公式中用 "Base" 替换“#ADR”,以消除此错误。我一直在尝试的方法之一是:
Selection.Replace What:="#ADR", Replacement:="Base", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
但它不起作用,即使当我尝试手动执行它时,使用 Ctrl+h 快捷键,一切都很完美。
如何替换“#ADR!” "Base" 在使用宏的每个选定公式中?
当您删除 sheet 时,您会删除该实体。尽管您随后创建了一个具有相同名称的新 sheet,但它不是同一个实体。
因此,当您删除 sheet 时,其他 sheet 中引用它的公式将丢失该引用。创建同名的新 sheet 永远不会修复链接。
覆盖 Base sheet 中的数据会不会更简单,从而保留所有链接并完全消除问题?
=SUM(间接("Base!AA:AA"))
INDIRECT 采用字符串参数,因此在删除 sheet 时不会丢失引用。
我的宏正在删除一些电子表格(我们称它为 "Base")并用相似的、相同的名称和格式但不同的数据替换它。其他工作表中的公式引用了 "Base" 电子表格。此公式在执行宏后,return #ADR!错误,公式被更改,例如:
=SUM(Base!AA:AA)
变成:
=SUM(#ADR!AA:AA)
我想在每个公式中用 "Base" 替换“#ADR”,以消除此错误。我一直在尝试的方法之一是:
Selection.Replace What:="#ADR", Replacement:="Base", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
但它不起作用,即使当我尝试手动执行它时,使用 Ctrl+h 快捷键,一切都很完美。
如何替换“#ADR!” "Base" 在使用宏的每个选定公式中?
当您删除 sheet 时,您会删除该实体。尽管您随后创建了一个具有相同名称的新 sheet,但它不是同一个实体。
因此,当您删除 sheet 时,其他 sheet 中引用它的公式将丢失该引用。创建同名的新 sheet 永远不会修复链接。
覆盖 Base sheet 中的数据会不会更简单,从而保留所有链接并完全消除问题?
=SUM(间接("Base!AA:AA"))
INDIRECT 采用字符串参数,因此在删除 sheet 时不会丢失引用。