Excel VBA ActiveCell 公式转换为值

Excel VBA ActiveCell 公式转换为值

我在一个单元格中有一个计算给定日期的公式。我想编写一个 VBA 宏,该宏将采用该公式,将其转换为结果日期值,并将该值复制到另一个/相邻的单元格。

我尝试使用“F2”和“F9”录制宏,但是 VBA 脚本返回,例如

ActiveCell.FormulaR1C1 = "12/31/2009". 

我想编写宏以便在未来几年中工作,其中日期单元格的公式可能是 2012 年 12 月 31 日、2013 年等等。我已经建立了公式来消除闰年的影响,所以我不能仅仅添加 365 来推导明年的结果。

答案1

这会将当前活动单元格的值和格式复制到右侧单元格

Sub CopyValue()
    ActiveCell.Offset(0, 1).Value = ActiveCell.Value
    ActiveCell.Offset(0, 1).NumberFormat = ActiveCell.NumberFormat
End Sub

相关内容