vba 自定义函数 公式中所用的某个值是错误的数据类型,请老师帮忙解决,代码如下
Public Function NSL(rng1 As Range, rng2 As Range)
Dim str As Variant
If rng1 < 125 Then
str = "LOOKUP(" & rng1.Address(0, 0) & ",{1,13,18,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,103,108,113,118,125},{1,1.5,2,2.5,3,3.4,3.9,4.4,4.9,5.3,5.8,6.3,6.7,7.2,7.6,8.1,8.5,9,9.4,9.9,10.3,10.7,11.1,12})"
NSL = Application.Evaluate(str)
Else
NSL = (Application.WorksheetFunction.Round(rng1, -1) - 120) * 0.08 + 11.1
End If
NSL = Round(NSL * 0.0038 * rng2 * rng2 / 100, 4)
End Function
|