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

求基于特定条件自动汇总车辆数量的VBA解决方案

汇总零件编号对应车辆总数量的VBA代码

下面是实现需求的VBA代码,可遍历A3:A6的零件编号,自动汇总对应零件关联的L列车辆数量总和:

Sub SumPartVehicleQty()
    Dim ws As Worksheet
    Dim partRange As Range, cell As Range
    Dim lastRow As Long
    Dim totalQty As Double
    Dim i As Long
    
    ' 指定操作的工作表,按需修改表名
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    
    ' 定义要处理的零件编号范围A3:A6
    Set partRange = ws.Range("A3:A6")
    
    ' 获取数据区域的最后一行(假设零件编号存放在B列,按需调整列标)
    lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
    
    ' 遍历每个目标零件编号
    For Each cell In partRange
        totalQty = 0
        ' 遍历所有数据行,匹配零件编号并累加L列数值
        For i = 2 To lastRow ' 假设第1行是表头,按需修改起始行号
            If ws.Cells(i, "B").Value = cell.Value Then
                totalQty = totalQty + ws.Cells(i, "L").Value
            End If
        Next i
        
        ' 将汇总结果写入零件编号右侧单元格(可修改Offset参数调整输出位置)
        cell.Offset(0, 1).Value = totalQty
    Next cell
    
    MsgBox "汇总完成!"
End Sub

关键调整说明:

  • 把Sheet1改成你实际的工作表名称
  • 如果零件编号的记录列不是B列,将ws.Cells(i, "B")替换为对应列标(比如"C")
  • 若数据起始行不是第2行,修改For i = 2 To lastRow中的起始数字
  • 汇总结果默认输出到零件编号右侧一列,调整cell.Offset(0, 1)的第二个参数可更改位置(比如0,3代表向右3列)

使用步骤:

  1. 打开目标Excel文件,按Alt + F11打开VBA编辑器
  2. 右键点击工程窗口中的工作簿名称 → 插入 → 模块
  3. 粘贴上述代码并调整参数
  4. 按F5运行代码,或回到Excel界面通过「开发工具→宏」执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:22:06