You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA动态范围求和合并:按序号汇总数量并合并单元格问题

修正VBA代码实现按序号汇总并合并单元格

原代码的核心问题是每次循环未重置sum_criteria,且仅输出所有序号的累计总和,未针对单个序号处理结果写入与单元格合并。以下是修正后的代码,可实现按A列序号汇总B列数量、写入对应C列并合并单元格的需求:

Sub SumAndMergeBySerialNo()
    Dim ws As Worksheet
    Dim lastRow As Long, i As Long, j As Long
    Dim currentSerial As Variant
    Dim totalQty As Double
    Dim startRow As Long
    
    ' 指定操作的工作表,可根据实际修改为工作表名称(如Sheets("Sheet1"))
    Set ws = ThisWorkbook.ActiveSheet
    
    ' 获取A列最后一行的行号
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 假设第1行为表头,从第2行开始处理数据
    startRow = 2
    
    Do While startRow <= lastRow
        ' 记录当前处理的序号
        currentSerial = ws.Cells(startRow, "A").Value
        totalQty = 0
        
        ' 遍历当前序号对应的所有行,计算B列总和
        For i = startRow To lastRow
            If ws.Cells(i, "A").Value = currentSerial Then
                totalQty = totalQty + ws.Cells(i, "B").Value
            Else
                ' 遇到不同序号,终止当前序号的求和循环
                Exit For
            End If
        Next i
        
        ' 将总和写入当前序号对应的C列起始单元格
        ws.Cells(startRow, "C").Value = totalQty
        
        ' 合并当前序号对应的所有C列单元格
        ws.Range(ws.Cells(startRow, "C"), ws.Cells(i - 1, "C")).Merge
        
        ' 可选:若需要合并A列和B列的对应单元格,取消下方两行注释
        ' ws.Range(ws.Cells(startRow, "A"), ws.Cells(i - 1, "A")).Merge
        ' ws.Range(ws.Cells(startRow, "B"), ws.Cells(i - 1, "B")).Merge
        
        ' 优化:设置合并后单元格的水平居中对齐
        ws.Range(ws.Cells(startRow, "C"), ws.Cells(i - 1, "C")).HorizontalAlignment = xlCenter
        
        ' 跳转到下一个序号的起始行
        startRow = i
    Loop
End Sub

关键改进说明

  • 引入工作表对象ws,避免依赖活动工作表,提升代码稳定性与通用性
  • 采用连续分组遍历逻辑,精准定位同一序号的所有行(需确保A列相同序号的行连续排列,若乱序建议先对A列排序)
  • 每次处理新序号时重置totalQty,保证每个序号的总和独立计算,不会累计之前的结果
  • 直接将汇总结果写入对应C列,并自动合并该序号对应的所有C列单元格
  • 提供可选的A、B列合并逻辑,满足不同格式需求
  • 增加单元格居中对齐的优化,提升表格可读性

使用注意事项

  • 若表头不是第1行,修改startRow的值为实际数据起始行
  • 运行前建议备份数据,避免意外修改
  • 若A列序号不连续,需先对A列进行排序,确保相同序号的行连在一起

内容的提问来源于stack exchange,提问作者Dhavnil Modi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:45:29