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

如何用列表表格数据过滤另一表格并编写VBA代码?(不擅数组函数)

无需数组公式的VBA筛选统计方案

核心逻辑

  • 提取列表表格里的目标名称
  • 逐个遍历名称,在待筛选表格中匹配并累加对应金额
  • 将统计结果写入汇总报表

VBA代码实现

Sub GenerateSummaryReport()
    Dim wsList As Worksheet, wsData As Worksheet, wsSummary As Worksheet
    Dim lastRowList As Long, lastRowData As Long, lastRowSummary As Long
    Dim nameCell As Range, dataCell As Range
    Dim targetName As String, totalAmount As Double
    
    ' 替换为你的实际工作表名称
    Set wsList = ThisWorkbook.Worksheets("列表表格")
    Set wsData = ThisWorkbook.Worksheets("待筛选表格")
    Set wsSummary = ThisWorkbook.Worksheets("汇总报表")
    
    ' 清空汇总报表旧数据(保留表头)
    wsSummary.Range("A2:B" & wsSummary.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
    
    ' 获取列表表格的名称范围(假设名称从A2开始,A1是表头)
    lastRowList = wsList.Cells(Rows.Count, 1).End(xlUp).Row
    
    ' 遍历每个要统计的名称
    For Each nameCell In wsList.Range("A2:A" & lastRowList)
        targetName = nameCell.Value
        totalAmount = 0
        
        ' 获取待筛选表格的数据范围(假设名称在A列,金额在B列)
        lastRowData = wsData.Cells(Rows.Count, 1).End(xlUp).Row
        
        ' 累加对应名称的金额
        For Each dataCell In wsData.Range("A2:A" & lastRowData)
            If dataCell.Value = targetName Then
                totalAmount = totalAmount + dataCell.Offset(0, 1).Value
            End If
        Next dataCell
        
        ' 将统计结果写入汇总报表
        lastRowSummary = wsSummary.Cells(Rows.Count, 1).End(xlUp).Row + 1
        wsSummary.Cells(lastRowSummary, 1).Value = targetName
        wsSummary.Cells(lastRowSummary, 2).Value = totalAmount
    Next nameCell
    
    ' 可选:格式化金额列,显示两位小数
    wsSummary.Range("B2:B" & wsSummary.Cells(Rows.Count, 2).End(xlUp).Row).NumberFormat = "#,##0.00"
    
    MsgBox "汇总报表生成完成!", vbInformation
End Sub

使用注意事项

  • 代码中的工作表名称("列表表格"、"待筛选表格"、"汇总报表")要替换成你文件里的实际表名
  • 确认列位置:如果待筛选表格的金额不在B列,调整dataCell.Offset(0,1)中的数字(比如金额在C列就改成Offset(0,2))
  • 运行代码前确保所有相关表格都在当前工作簿中打开

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 07:02:20