任意单元格,那只能用宏了,做一个自定义函数。
如果固定的在B列,计算A列算式,就没必要了,可以用宏表函数。
cal自定义函数的代码如下
Function cal(单元格 As Range)
Application.Volatile
Dim temp As String, adds As String
adds = 单元格.Address(0, 0)
If Left(单元格(1).Text, 1) = "{" And Right(单元格(1).Text, 1) = "}" Then
temp = VBA.Replace(VBA.Replace(单元格(1).Text, "{", ""), "}", "")
Else
temp = 单元格(1).Text
End If
temp = VBA.Replace(Replace(temp, "row()", "row(" + adds + ")"), "column()", "column(" + adds + ")")
cal = Application.Evaluate(temp)
End Function