【VBA小应用分享】区别层级求和计算,鼠标点中单元格触发


如图,我点第⑤行随便一个单元格,就把下面层级的数都求和放在C列,可以根据你的实际表改这个demo代码。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        ROW1 = Target.Row    '鼠标选定单元格得行数
        xh = 1 ' 遍历层级行需要得变量
        xsum = 0 ' 下层级数之和
        i = Range("A" + CStr(ROW1)).Cells  '获取对应层级单元格内容
        y = Range("A" + CStr(ROW1 + xh)).Cells ' 下层级单元格内容
        
        While i < y
        
           xsum = xsum + Range("B" + CStr(ROW1 + xh)).Cells     ' 当层级小于所选行层级,数累加
           y = Range("A" + CStr(ROW1 + xh)).Cells  ' 下层级单元格内容
           xh = xh + 1  
        Wend
        
        xsum = xsum - Range("B" + CStr(ROW1 + xh - 1)).Cells  ' 循环会多加一个,减去
        
        If xsum < 0 Then    '如果值小于0
            xsum = 0
        
        End If
        
        Range("C" + CStr(ROW1)) = xsum  '将计算结果输出至C列
        
        

End Sub

注意VBA代码别放模块里,要不不起作用,放如下图里。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值