Excel 使用范围设置值会导致公式失败
我在下面有这个函数。试图设置该值会导致它失败。如果我注释掉值部分,它将按计划工作,但我需要在给定的单元格中显示其他2个值。我得到了#值!未注释掉它们时出错。谢谢你的帮助Excel 使用范围设置值会导致公式失败,excel,excel-formula,vba,Excel,Excel Formula,Vba,我在下面有这个函数。试图设置该值会导致它失败。如果我注释掉值部分,它将按计划工作,但我需要在给定的单元格中显示其他2个值。我得到了#值!未注释掉它们时出错。谢谢你的帮助 Function GetAreas(str As String, Optional ttl1 As Range, Optional ttl2 As Range) As String ttl1.Value = 250 ttl2.Value = 200 GetAreas = str End Function
Function GetAreas(str As String, Optional ttl1 As Range, Optional ttl2 As Range) As String
ttl1.Value = 250
ttl2.Value = 200
GetAreas = str
End Function
我用这样的公式调用函数
=IF($H3<>"",GetAreas($H3, $J3, $K3),"")
=IF($H3”),GetAreas($H3,$J3,$K3),“”)
这里的问题是,您试图让自定义项更改调用它的单元格以外的单元格的值
根据设计,这是不允许的
您应该使用Sub,而不是UDF。UDF只允许将值返回到调用的。它不能设置另一个单元格的值。@ExcelHero我猜我必须使用宏来实现这一点吗?@ExcelHero,也许可以使用与您最近在另一个线程中的评论不太相似的技术:-)@deathismyfriend是。@MacroMarc可能,但我不建议在这种情况下使用它。我相信工作表函数的设计目标。