我是excel自定义函数的新手,并尝试创建一个自定义Excel函数,输出“Y”或“N”并采用四个参数。我在另一端遇到的错误是#VALUE!没有进一步的解释。我试着在MSDN文档中查看Range对象,但无法理解为什么我的函数没有读取值。
我的函数有四个参数,单元格中的数据类型是中位数:Double,base:Double,hours:Integer,and exemption:String(带字母“E”或“N”)。我从工作表中的四个单独的单元格中获取了这些参数。
Function ToIncrease(median As Range, base As Range, hours As Range, exemption As Range)
ToIncrease = "N"
exempt = exemption.Value
If exempt.Equals("N") Then
baseSal = base.Value * hours.Value
medianSal = median.Value * hours.Value
If medianSal > baseSal Then
ToIncrease = "Y"
End If
End If
If exempt.Equals("E") Then
If median.Value > base.Value Then
ToIncrease = "Y"
End If
End If
End Function
我首先尝试exemption.Value.Equals("N")
并且它不起作用,然后我尝试将免除变量声明为Dim exempt As String = exemption.Value
并且出现了关于期望结束语句的错误。
答案 0 :(得分:1)
首先替换以下行:
If exempt.Equals("N") Then
与
If exempt = "N" Then
(可能还有其他问题)
将VBA代码调试为Sub
而不是Function()
会更容易,因为错误消息要好得多。