永发信息网

EXCEL自定义函数调用时老显示#REF!,数据无效,请高手指教?

答案:4  悬赏:50  手机版
解决时间 2021-02-21 11:52
  • 提问者网友:低吟詩仙的傷
  • 2021-02-20 14:09
Function GZ1(H As Variant, b As Variant) As Variant

GZ1 = Round(H / 0.2 + 1, 0) * ((b + 0.25) * 2 - 0.03 * 8 + (8 + 12.9 * 2) * 6 / 1000) * 0.222 / 1000

End Function
最佳答案
  • 五星知识达人网友:鱼忧
  • 2021-02-20 15:06
函数名是GZ1,GZ1又是单元格地址,混淆了吧,过程名最好不要用容易引用单元格地址错误的名字
全部回答
  • 1楼网友:荒野風
  • 2021-02-20 17:28
函数名不能与Excel本身语法关键字重复。不要用“GZ1”,改成别的名字就好了,如“GZCal”
  • 2楼网友:独钓一江月
  • 2021-02-20 17:05
Function GZa(H As Variant, b As Variant) As Variant GZa = Round(H / 0.2 + 1, 0) * ((b + 0.25) * 2 - 0.03 * 8 + (8 + 12.9 * 2) * 6 / 1000) * 0.222 / 1000 End Function 不要用“GZ1”,改一下就好了,如“GZa”
  • 3楼网友:酒醒三更
  • 2021-02-20 16:40
用宏自定义函数吧。同时按alt和f11进入宏界面,点菜单的插入,模块,粘贴如下代码: function jisuan(xrng as range) dim i as integer if xrng.value <> ".1" and xrng.value <> ".2" and xrng.value <> ".3" then jisuan = "" exit function end if i = 1 if xrng.value = ".1" then do while xrng.offset(-i, 0).value = ".1" or xrng.offset(-i, 0).value = ".2" or xrng.offset(-i, 0).value = ".3" i = i + 1 loop jisuan = xrng.offset(-i, 3).value * xrng.offset(0, 3) else do while xrng.offset(-i, 0).value = xrng.value i = i + 1 loop jisuan = xrng.offset(-i, 4).value * xrng.offset(0, 3) end if end function 回到excel,在e3输入 =jisuan(a3),回车后将公式向下复制到e13。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯