SUM范围是变量的范围

时间:2018-05-24 15:08:30

标签: vba excel-vba variables sum excel

我有:

Set QuanityRange = Sheets("Raw_Data").Range("F2:F" & lastDataRow)
MsgBox "This is the Data Range: " & vbNewLine & "Quanities: " & QuanityRange.Address()

在消息框中显示$ F $ 2:$ F $ 1838。

然后,如果我有:

Total = WorksheetFunction.Sum(QuanityRange)
MsgBox "Total is: " & Total

这会在消息框中显示15170。

我的问题是我目前有:

Range("B2", Cells(lastMatrixRow, lastMatrixCol)).Formula = "=Sum(Raw_Data!$F$2:$F$10000)"

这样可行,它在从B2到BO114的每个单元格中放置15170,在这种情况下恰好是(lastMatrixRow,lastMatrixCol)的位置。

但是,我想做的是:

Range("B2", Cells(lastMatrixRow, lastMatrixCol)).Formula = "=Sum(QuanityRange)"

而不是:

Range("B2", Cells(lastMatrixRow, lastMatrixCol)).Formula = "=Sum(Raw_Data!$F$2:$F$10000)"

但它不起作用。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

你可以尝试:

范围(" B2",Cells(lastMatrixRow,lastMatrixCol))。公式=" = Sum("& QuanityRange.Address()&")& #34;

答案 1 :(得分:0)

如果您尝试将范围变量的地址放在公式中 - 这是一个解决方案:

Public Sub TestMe()
    Dim varRange As Range
    Set varRange = Range("F1:F5")
    Range("A1", Cells(3, 3)).Formula = "=Sum(" & varRange.Address & ")"
End Sub

这个想法是,右边的公式应该是"可翻译的"到一个字符串。