我有:
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)"
但它不起作用。我怎么能这样做?
答案 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
这个想法是,右边的公式应该是"可翻译的"到一个字符串。