Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA计算从活动单元格到其上单元格值的总和_Vba_Excel - Fatal编程技术网

VBA计算从活动单元格到其上单元格值的总和

VBA计算从活动单元格到其上单元格值的总和,vba,excel,Vba,Excel,我是VBA Noob,正在寻求帮助,我的ActiveCell当前位于单元格A8中,我希望使用loop获得单元格A7到A1的总和,然后该值将显示在单元格A8中。同样,如果我将ActiveCell更改为C8,我仍然会得到相同的过程 唱片公司给了我这个 Range("A1:A7,A8").Select Range("A8").Activate ActiveCell.FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)" 我想将其更改为循环,以便A1:A7的值将显示在我的ActiveC

我是VBA Noob,正在寻求帮助,我的ActiveCell当前位于单元格A8中,我希望使用loop获得单元格A7到A1的总和,然后该值将显示在单元格A8中。同样,如果我将ActiveCell更改为C8,我仍然会得到相同的过程

唱片公司给了我这个

Range("A1:A7,A8").Select
Range("A8").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)"
我想将其更改为循环,以便A1:A7的值将显示在我的ActiveCell A8上,以使用循环尝试将该值放置在ActiveCell中:

要在activecell中放置不带循环的值,请尝试:

要在activecell中放置公式而不包含循环,请尝试:

要使用循环将值放入activecell,请尝试:

要在activecell中放置不带循环的值,请尝试:

要在activecell中放置公式而不包含循环,请尝试:


为什么不是一个公式?如果您仍然需要VBA解决方案,请尝试录制宏并对其进行修补。询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期结果。另见:为什么不是公式?如果您仍然需要VBA解决方案,请尝试录制宏并对其进行修补。询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期结果。另见:
Sub SumAboveLoop()
    Dim r As Range, rAbove As Range
    Dim v As Variant
    Set r = ActiveCell
    Set rAbove = Range(r.Offset(-1, 0), Cells(1, r.Column))
    v = 0
    For Each rr In rAbove
        v = v + rr.Value
    Next rr
    r.Value = v
End Sub
Sub SumAboveV()
    Dim r As Range, rAbove As Range
    Dim wf As WorksheetFunction
    Set wf = Application.WorksheetFunction
    Set r = ActiveCell
    Set rAbove = Range(r.Offset(-1, 0), Cells(1, r.Column))
    r.Value = wf.Sum(rAbove)
End Sub
Sub SumAboveF()
    Dim r As Range, rAbove As Range
    Dim wf As WorksheetFunction
    Set wf = Application.WorksheetFunction
    Set r = ActiveCell
    Set rAbove = Range(r.Offset(-1, 0), Cells(1, r.Column))
    r.Formula = "=SUM(" & rAbove.Address & ")"
End Sub