【问题标题】:Adding a single cell to a Range in a formula将单个单元格添加到公式中的范围
【发布时间】:2017-04-07 23:36:30
【问题描述】:

我有一个 Sub 可以动态选择一系列单元格,然后将该范围传递给内部收益率公式。我需要在范围的开头附加一个单元格才能使公式起作用。见下文:

Dim calcrange As Range
Set calcrange = Range(Range("B57"), Range("B57").End(xlToRight))

Range("IRR").Formula = "=IRR(" & calcrange.Address & ")"

理想情况下,我想做的是添加一个命名范围单元格“InvestmentOutlay”作为范围中的第一个单元格。 InvestmentOutlay 单元格在前一张纸上,但我希望公式运行的顺序是

=IRR(InvestmentOutlay,B57,C57, etc)

...这可能吗?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    这样,使用Union 连接两个范围?

    Set calcrange = Union(Range("InvestmentOutlay"), Range(Range("B57"), Range("B57").End(xlToRight)))
    

    【讨论】:

    • 感谢您的回复。我收到“运行时错误'1004':对象'_Global'的方法'Union'失败。”我是 VBA 新手,所以我不明白这是什么意思。
    • 您是否已经设置了命名范围InvestmentOutlay
    • 嗯,我把它作为一个命名范围,就像在 excel 表中一样。我需要在 VBA 中将其声明为变量或其他内容吗?
    • 没有。应该没事。它在活动表上吗?
    • 不,它在上一个。我认为在使用命名范围时,它会在活动工作簿中的任何位置找到它。我应该将它指向 InvestmentOutlay 所在的工作表吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2014-11-05
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多