首页 > 解决方案 > Excel - 更新新位置的公式引用

问题描述

当我复制一个包含公式的单元格然后粘贴到同一张表上的另一个单元格时,公式的单元格引用会更新以反映新位置(考虑绝对、相对和混合单元格引用等)。

有没有办法以编程方式在 Excel VBA 中更新公式,将字符串公式从一个位置更新到另一个位置,而无需实际复制单元格并粘贴到另一个位置?

如果没有,你如何复制一个单元格并粘贴到 VBA 中的另一个位置?

编辑:阿克塞尔很好地回答了问题的第二部分。有没有办法完成问题的第一部分,而不会将它粘贴到单元格中(因为如果我需要做很多这些,那么我不得不猜测它可能会有点慢)?

标签: excelvbaexcel-formula

解决方案


我真的建议您阅读Excel VBA 中R1C1的 -style 表示法和属性。FormulaR1C1这正是它Excel自己管理更新新位置的公式引用的方式。

例如,如果您在D5活动工作表中有一个公式,那么以下代码将将该公式的副本放入E6Excel 如何在其 GUI 中执行此操作。然后将包含-style 符号sFormula2中的更新公式。A1

With ActiveSheet
 sFormula1 = .Range("D5").Formula
 sFormulaR1C1 = .Range("D5").FormulaR1C1
 .Range("E6").FormulaR1C1 = sFormulaR1C1
 sFormula2 = .Range("E6").Formula
End With

推荐阅读