将范围变量传递到Excel宏中的公式中

Passing Range Variable into formula in Excel Macro

提问人:BiGXERO 提问时间:5/30/2012 最后编辑:CommunityBiGXERO 更新时间:12/30/2021 访问量:18672

问:

我试图在宏公式中使用变量来避免选择单元格,但是我一直收到错误。

以下是我试图做的事情的简化:

    Dim myRange as Range
    Dim formulaCell as Range

    Set myRange = [a1:a10]
    formulaCell.Formula = "=sum(myRange)"

但是,我一直得到:

"application-defined or object defined error"

我试过使用:

formulaCell.Formula = "=sum(" & myRange & ")"

但后来我得到:

Type mismatch

还尝试过:

formulaCell.Formula = "=sum(" & Range(myRange) & ")"

无济于事

我确定答案是非常基本的,但无法弄清楚我做错了什么。任何和所有的帮助将不胜感激。

Excel-2007 VBA

评论


答:

5赞 KopBuH 5/30/2012 #1

首先,必须设置为引用 Range。然后使用下一个字符串而不是你的字符串formulaCell

formulaCell.Formula = "=sum(" & myRange.Address & ")"