Excel 2007 Sum可变长度列

时间:2009-11-12 03:12:02

标签: excel excel-vba ms-office vba

我正在尝试创建一个宏来对可变长度列求和。我尝试了一些不同的东西,但他们没有工作。我想做的是:

如果活动单元格是单元格B17,我希望B17等于B1到B16的总和。 同样,如果活动单元格是单元格D22,我希望D22等于D1到D21的总和。

所以基本上它是在所选列中对活动单元格上方的所有单元格求和。

谢谢, 詹姆斯。

4 个答案:

答案 0 :(得分:1)

=SUM(R1C:R[-1]C)或者我错过了什么?

答案 1 :(得分:1)

Sub MakeSum()

If ActiveCell.Row > 1 Then
    ActiveCell.FormulaR1C1 = "=SUM(R1C:R[-1]C)"
End If

End Sub

答案 2 :(得分:0)

宏可以单击[sum]工具栏按钮(有趣的E - sigma)并按Enter键吗?

答案 3 :(得分:0)

试试这个并调整特殊情况(第1行等)。

Public Sub abcd()
  Dim rw As Long
  Dim cl As Long
  Dim s As Double
  Dim rng As Range

  rw = ActiveCell.Row
  cl = ActiveCell.Column
  Set rng = Range(Cells(1, cl), Cells(rw - 1, cl))

  s = Application.WorksheetFunction.Sum(rng)
  MsgBox s
  ActiveCell.Value = s
End Sub