在excel里 用evaluate函数计算某个单元格内文本算式的VBA语句应该怎么写?
如题。不用VBA,直接在工作表用CTRL+F3插入名称管理器的方法,百度知道里可以找到很多。但是我想在VBA里用代码的形式体现,举例来说,A1的内容为2+2,我想在B1得...
如题。
不用VBA,直接在工作表用CTRL+F3插入名称管理器的方法,百度知道里可以找到很多。
但是我想在VBA里用代码的形式体现,举例来说,A1的内容为2+2,我想在B1得出结果。 展开
不用VBA,直接在工作表用CTRL+F3插入名称管理器的方法,百度知道里可以找到很多。
但是我想在VBA里用代码的形式体现,举例来说,A1的内容为2+2,我想在B1得出结果。 展开
展开全部
可以使用vba自定义函数方式,或直接调用方式
Function fmula(rng As Range)
Dim str As String
str = rng.Value
fmula = Evaluate(str)
End Function
--------------------------------------
sub test()
dim str as string
str=[a1].value
[b1]=evaluate(str)
end sub
Function fmula(rng As Range)
Dim str As String
str = rng.Value
fmula = Evaluate(str)
End Function
--------------------------------------
sub test()
dim str as string
str=[a1].value
[b1]=evaluate(str)
end sub
追问
感谢指点,
我写的跟你有点不一样,反正最后结果能实现就OK。
ThisWorkbook.Sheets(1).Cells(2, 3) = Evaluate(ThisWorkbook.Sheets(1).Cells(1, 3).Value)
我之前报错就是少了语句最后的"VALUE",请问有没有VALUE会导致什么区别呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询