Excel VBA实现多活动单元格行指定列SUM计算需求
解决多选中行的H、K列求和问题
你的原代码只取了最后一个选中单元格所在的行,所以只能计算单行的H、K列之和。要实现选中任意多行(不管点的是哪一列),让A1自动汇总所有选中行的H、K列数值,修改代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim sumRange As Range Dim cell As Range Set sumRange = Nothing ' 遍历选中区域的每一行 For Each cell In Target.Rows ' 把当前行的H列和K列单元格加入求和区域 If sumRange Is Nothing Then Set sumRange = Union(Me.Range("H" & cell.Row), Me.Range("K" & cell.Row)) Else Set sumRange = Union(sumRange, Me.Range("H" & cell.Row), Me.Range("K" & cell.Row)) End If Next cell ' 设置A1的求和公式,无选中行时清空 If Not sumRange Is Nothing Then Me.Range("A1").Formula = "=SUM(" & sumRange.Address(False, False) & ")" Else Me.Range("A1").ClearContents End If End Sub
代码说明
- 遍历选中区域的每一行,自动抓取对应行的H列和K列单元格
- 把所有需要求和的单元格合并成一个区域,最终用SUM函数计算总和
- 不管选中一行还是多行,甚至选中行内的任意列,都能正确汇总对应行的H、K列数值
- 没有选中任何行时,A1会自动清空
内容的提问来源于stack exchange,提问作者Susmaryosep
相关产品推荐
相关产品推荐

