Excel-更新公式参考以获取新位置

时间:2018-11-24 08:59:09

标签: excel vba excel-formula

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

是否可以通过编程方式在Excel VBA中进行公式更新,将字符串公式从一个位置更新到另一个位置,而无需实际复制单元格并将其粘贴到另一个位置?

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

编辑:Axel很好地回答了问题的第二部分。有没有一种方法可以解决问题的第一部分,而不必将其粘贴到单元格中(因为如果我需要做很多事情,那么我不得不猜测它可能会有点慢)?

1 个答案:

答案 0 :(得分:0)

我真的建议您阅读Excel VBA中的R1C1样式符号和FormulaR1C1属性。 Excel本身就是如何管理公式参考的更新以获取新位置。

例如,如果您在活动工作表的D5中有一个公式,那么以下代码将把该公式的副本准确地放入E6的Excel的GUI中。然后sFormula2将以A1样式表示法包含更新后的公式。

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