打开宏编辑器,将下列代码粘贴进去,然后运行宏,即可达到你的要求。注意,是从A1开始算起的,在A列碰到为空的单元格就认为空行以上为有效的单元格。
空行以下即使有数也不计算。
Sub SumN()
Dim nMaxRow As Long
Dim Zhi As Double
nMaxRow = Sheet1.UsedRange.CurrentRegion.Rows.Count '求出A列有效的行数
For i = 1 To nMaxRow
Zhi = Zhi + Val(Cells(i, 1)) '累加
Next
Cells(1, 2) = Zhi '将求得的和放在B1单元格内。放在哪个单位格可以任意修改。
End Sub
其实,还有一个更好的方法,将下列代码粘贴入宏编辑器中,在A列中输入数值,在B1中就可以自动得出和。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim nMaxRow As Long
Dim Zhi As Double
nMaxRow = Sheet1.UsedRange.CurrentRegion.Rows.Count '求出A列有效的行数
For i = 1 To nMaxRow
Zhi = Zhi + Val(Cells(i, 1)) '累加
Next
Cells(1, 2) = Zhi '将求得的和放在B1单元格内。放在哪个单位格可以任意修改。
End Sub
=sum(a1:an)
输入“=sum(A1:A(n))”
如果要累加的数据在A1:A100中,B1中放N,C1中要求A1:A(N)的累加,在C1中输入
=SUM(A1:INDIRECT("A"&B1))
就可以了,只要变动B1的值,求和函数取值范围自动发生变化,你是这个意思吧。