如何获得单元格的公式VALUE

时间:2011-10-05 15:39:04

标签: excel vba

我一直在疯狂地寻找,我确信它比我想的更简单,所以请赐教!

我在循环中设置了一些公式,如下所示:

ActiveSheet.Range("AM" & i).Formula = "=ROUND(Y" & i & "/(M" & i & "+U" & i & "/12))"

我想将此公式的结果复制到另一个单元格。我试过这个:

ActiveSheet.Range("Y" & i).Value = ActiveSheet.Range("AM" & i).Value

但它不起作用。我总是想知道如何得到这个公式的结果(值)而不是复制整个公式。

任何想法或答案?非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以将结果复制为值。假设我有单元格A1和A2,我想在A3中获取MAX值,然后将结果复制到A4:

    A
1   10
2   20
3   20 <- as formula '=MAX(A1:A2)'
4   20 <- as value not formula

Sub AddMax()
    Range("A3").Formula = "=MAX(A1:A2)"
End Sub

Sub CopyResult()
    Range("A3").Copy
    Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub