问题
I want to get the result of a formula contained in a cell, but I always get 0 returned, instead of the real results.
I have the following:
Set c = .Cells (5,5)
MsgBox (c.Formula) ' this return the following: = ASIN (W22-V22/$D$7)*180/PI()
MsgBox (c.Value) ' this returns 0
MsgBox (c.Value2) ' this returns 0 as well
And even if I try with Evaluate:
evaluation = Application.Evaluate (c.Formula)
MsgBox (c.Value) ' it still returns 0
回答1:
Zero is the correct answer if both V22 and W22 are zero.
回答2:
Maybe try this:
Sub formVal()
Dim c As Range
Set c = ThisWorkbook.Sheets(1).Cells(5, 5)
MsgBox (c.Formula)
MsgBox (c.Value)
MsgBox (c.Value2)
End Sub
来源:https://stackoverflow.com/questions/28832054/vba-how-to-get-the-result-of-a-formula-value-always-returns-0