VBA和变量范围,可变范围和总和之间有一些空行

时间:2016-04-28 13:04:27

标签: excel vba excel-vba

我做了一些研究,感觉这是一个相当简单的问题..

我想总结一个变量范围:在我的工作表中,L25可以运行到无穷大,棘手的部分(对我来说),它不应该是SUM直到最后一行-1但最后一行-3,因为有一个'总计'总和应该在

之上的文字

enter image description here

所以总数应该用L40求和,在不同的情况下可以是另一个L行。

我认为这并不难,但由于我是初学者,我认为我犯了一个基本错误。为了表明我的努力,我设法得到了这个:

RuleFinder

感觉它应该是这样的:

Sub Sumvariablerow
  Range("L40").Select
  ActiveCell.FormulaR1C1 = "=SUM(R[-15]C:R[-3]C)"
End Sub

找到以下主题: How to sum values in variable range in VBA?

VBA Summing a Column of Variable Length

http://www.mrexcel.com/forum/excel-questions/584966-visual-basic-applications-sum-variable-length-column.html

http://www.mrexcel.com/forum/excel-questions/251264-sum-formula-variable-rowcount-using-visual-basic-applications.html

提前致谢

3 个答案:

答案 0 :(得分:1)

也许是这样的:

Range("L40").Formula = "=SUM(L25:L" & 24 + Range(Range("L25"), Range("L25").End(xlDown)).Rows.Count & ")"

答案 1 :(得分:1)

试试这个:

Sub Sumvariablerow()
    Dim LastRow As Long
    LastRow = Range("L25").End(xlDown).Row
    Cells(LastRow + 2, 12).Value = "total"
    Cells(LastRow + 3, 12).Select
    ActiveCell.Formula = "=SUM(L25:" & ActiveCell.Offset(Rowoffset:=-3).Address & ")"
End Sub

答案 2 :(得分:1)

尝试使用以下代码

Sub test()
    Range("L" & Range("L25").End(xlDown).Row + 3).Formula = WorksheetFunction.Sum(Range("L25:L" & Range("L25").End(xlDown).Row))
End Sub