Function paix(salary) As Integerh = 2Do While Sheet1.Cells(h, 1) <> ""If salary >= Sheet1.Cells(h, 1) Thenxh = h - 1Exit DoEnd Ifh = h + 1Looppaix = hEnd Function
2 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
函数里不宜直接调用与工作表名称有关的数据例如:“Sheet1.Cells(h, 1)”,建议把它作为参数传递入函数,建议把函数改成如下:
调用的时候可以这样:=paix(A10,Sheet1!A1:A20),这样就与表格名称无关了。
Function paix(salary As Integer, AR As Range) As Integer
Dim R As Range,h As Integer
h = 2
For Each R In AR.Rows
If R.Cells.Item(1) = "" Then Exit For
If salary >= R.Cells.Item(1) Then
paix = h - 1
Exit Function
Else
h = h + 1
End If
Next
paix = h
End Function
FFIVE
TA贡献1797条经验 获得超6个赞
这个函数代码没有问题,可以运行,但不知道这个结果有什么意义. 其中有一句 xh=h-1 但xh都没有用途.
自定义函数只能在含这个自定义函数的工作簿里运行. 除非把它变成加载宏才可以像excel自带函数一样使用.
添加回答
举报
0/150
提交
取消