使用VBA对活动单元格上方的几个单元格求和

时间:2015-03-24 18:31:12

标签: excel vba excel-vba

我需要使用VBA设置一个单元格来对活动单元格上方的几个单元格求和。我玩了一些我遇到过的代码,但它设置为将整个列拉到活动单元格之上。我不明白代码足以修改它以将上面的单元格和两行相加。这是我到目前为止(只发布了一部分宏):

Sub QRTLYdatagrab()

''''Script leading up to this point has been omitted''''

Range("U1").End(xlDown).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "SUM('Asset_Dtl for CEQs for FAS 157'!J:J)"
Range("U1").End(xlDown).Offset(2, 0).Select

Dim r As Range, rAbove As Range
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
Set r = ActiveCell
Set rAbove = Range(r.Offset(-2, 0), Cells(2, r.Column))
r.Formula = "=SUM(" & rAbove.Address & ")"

''''Script after this point has been omitted''''

End Sub

一个简单的例子:我的数据四分之一可以使用402行。我在403中汇总了1-402行.404从另一个标签中提取一笔金额。我需要406总和403和404.如果我需要澄清任何事情,请告诉我,并提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:1)

这个答案是由pnuts提供的(网站不会让我选择他的回答作为答案):

“一旦选择了406单元格

Selection.FormulaR1C1 = "=SUM(R[-3]C:R[-2]C)" 

- 昨天的核桃“

以下是我将其应用于我自己的宏的方法:

Range("U1").End(xlDown).Offset(3, 0).Select
Selection.FormulaR1C1 = "=SUM(R[-4]C:R[-3]C)"

这允许宏转到列U的末尾(我已经建立了两个求和单元格)然后选择三行向下的单元格。然后,该单元格将对上面的单元格4和3行求和。