为什么使用的时候提示:“#NAME?”,错在哪里?

Function paix(salary) As Integer
h = 2
Do While Sheet1.Cells(h, 1) <> ""
If salary >= Sheet1.Cells(h, 1) Then
xh = h - 1
Exit Do
End If
h = h + 1
Loop
paix = h
End Function

喵喵时光机
浏览 239回答 2
2回答

桃花长相依

函数里不宜直接调用与工作表名称有关的数据例如:“Sheet1.Cells(h, 1)”,建议把它作为参数传递入函数,建议把函数改成如下:调用的时候可以这样:=paix(A10,Sheet1!A1:A20),这样就与表格名称无关了。Function paix(salary As Integer, AR As Range) As IntegerDim R As Range,h As Integerh = 2For Each R In AR.RowsIf R.Cells.Item(1) = "" Then Exit ForIf salary >= R.Cells.Item(1) Thenpaix = h - 1Exit FunctionElseh = h + 1End IfNextpaix = hEnd Function

FFIVE

这个函数代码没有问题,可以运行,但不知道这个结果有什么意义. 其中有一句 xh=h-1 但xh都没有用途.自定义函数只能在含这个自定义函数的工作簿里运行. 除非把它变成加载宏才可以像excel自带函数一样使用.
打开App,查看更多内容
随时随地看视频慕课网APP