这是我的代码的简化版本。我想设置B列单元格值,但该函数返回#value错误。但是如果我删除Range("B" & xdata.Row).Value = v
行,则函数可以正常工作。如何将值设置为B列?
Function Calc(range_data As Range) As Double
Dim v As Double
For Each xdata In range_data
If IsEmpty(Range("A" & xdata.Row)) = False Then
v = Range("A" & xdata.Row).Value * 2
Range("B" & xdata.Row).Value = v
Calc = Calc + v
答案 0 :(得分:0)
您无法在用户定义的函数中更改其他单元格的值。
对于您要执行的操作,您应该使用Subroutine
。
代码将按预期工作。
您可能会发现以下有趣的相关内容: - https://msdn.microsoft.com/en-us/library/aa263527(v=vs.60).aspx