为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喵时光机 2022-08-04 11:07:28
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

查看完整回答
反对 回复 2022-08-08
?
FFIVE

TA贡献1797条经验 获得超6个赞

这个函数代码没有问题,可以运行,但不知道这个结果有什么意义. 其中有一句 xh=h-1 但xh都没有用途.
自定义函数只能在含这个自定义函数的工作簿里运行. 除非把它变成加载宏才可以像excel自带函数一样使用.

查看完整回答
反对 回复 2022-08-08
  • 2 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信