Function ixangden(obja As Range, objb As Range) Dim ianum As Double, ibnum As Double ianum = obja.Value ibnum = objb.Value If ianum > ibnum Then ianum = ianum + 1 ibnum = ibnum - 1 ElseIf ianum < ibnum Then ianum = ianum - 1 ibnum = ibnum + 1 Else ianum = ianum + 1 ibnum = ibnum - 1 End If obja.Offset(-1, 0).Value = ianum objb.Offset(-1, 0).Value = ibnum ixangden = ianum + ibnum objb.Offset(-2, 0).Value = ixangden End Function 在学习中,看到if语句想用这个UDF来试一下,可是编写完后在工作表是用这个UDF(即在一个单元格内输入=ixangden(g11,i11))时返回#VALUE!,可是点击错误中显示计算步骤时又能正确得到值。 请大师们给咱看看怎么才在在UDF中正确引用单元格,谢谢! 还有一个问题,请帮我一起解决了:如何自编一个函数,使多个单元格区域为参数。比如我想一次性对类似于C3:C47及F3:F33这样的单元格求一个综合指数。
自定义函数只能处理当前单元格的值,而不能更改其它单元格的值 你用了offset更改的是其它单元格的值,所以会出错。
|