#值!在VBA / Excel中使用Range对象时出错

时间:2015-05-31 17:25:47

标签: excel-vba vba excel

我正在尝试为excel 2010编写我的第一个vba宏。它需要对200,000行进行一些长计算,并且需要填充活动行上的2个相邻单元格。以下VBA功能是完成上述操作的原始第一次尝试。问题是在执行宏时,我得到#value!错误。如果我删除" cell"和.Value行,它工作正常,并以适当的值填充activecell。我做错了什么?

非常感谢你的帮助。

Public Function someCalculation() As Integer

    Dim r As Range
    Dim nrow, ncol As Integer

    nrow = ActiveCell.Row
    ncol = ActiveCell.Column

    r = Cells(nrow, ncol + 1)
    r.Value = nrow * 100 + ncol

    someCalculation = nrow * 1000 + ncol

End Function

1 个答案:

答案 0 :(得分:0)

“Cells”是一个对象,你必须使用'Set'和任何对象来分配它。

但是修改另一个细胞是不可能的,而不是具有功能的细胞。

编辑:删除错误代码

    Set r = Cells(nrow, ncol + 1)