单元格A1指的是单元格A5,其值为5.5。我想向Cell A1插入一个圆形函数,读取= round(A5,)。我在下面尝试了下面的代码,但它没有按照我的意图工作。
Sub roundmacro()
Dim n As String
n = Range("A1").Value 'returns the value but I need reference from that range object instead
Range("A1").Formula = "=round(" & n & ",)"
End Sub
提前致谢
答案 0 :(得分:4)
Range("A1").Formula = "=Round(" & Mid(Range("A1").Formula, 2) & ",)"
这会将任何现有公式转换为该公式的rounding
。因此,如果初始公式为=A5
,新公式将变为=Round(A5,)
。
P.S。适用于任何返回数字的初始公式(当然不能对字符串进行舍入)。
答案 1 :(得分:2)
所以你想让A1中的公式显示“A5”吗?
Range("A1") = "=Round(A5,)"
答案 2 :(得分:2)
最好在VBA中进行计算,如下所示:
Sub formulas()
Range("A1").Value = Application.WorksheetFunction.Round(Range("A5").Value, 0) ' You can put any formula after the 'Application.WorksheetFunction.'
End Sub
答案 3 :(得分:1)
对我来说很好,A1 = 6
Sub roundmacro()
Dim n As String
n = Range("A5").Value
Range("A1").Formula = "=round(" & n & ",)"
End Sub