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

如何用VBA在Excel多工作表中汇总Total Max/Min Time对应值

实现多工作表时间总计的VBA方案

1. 打开VBA编辑器

  • 打开目标Excel工作簿,按下Alt + F11组合键启动VBA编辑器。
  • 在左侧工程资源管理器中,右键点击你的工作簿名称,选择「插入」→「模块」,新建一个空白模块用于编写代码。

2. 编写VBA代码

将以下代码复制到新建模块中,代码逻辑完全匹配你的需求:

Sub CalculateTotalTimes()
    ' 声明变量
    Dim ws As Worksheet
    Dim totalMax As Double
    Dim totalMin As Double
    Dim findMaxCell As Range
    Dim findMinCell As Range
    
    ' 初始化累加值
    totalMax = 0
    totalMin = 0
    
    ' 遍历所有工作表
    For Each ws In ThisWorkbook.Worksheets
        ' 跳过汇总表(需替换为你的实际汇总表名称)
        If ws.Name <> "汇总表" Then
            ' 定位"Total Max Time"单元格
            Set findMaxCell = ws.Cells.Find(What:="Total Max Time", LookIn:=xlValues, LookAt:=xlWhole)
            ' 找到则累加右侧数值
            If Not findMaxCell Is Nothing Then
                totalMax = totalMax + findMaxCell.Offset(0, 1).Value
            End If
            
            ' 定位"Total Min Time"单元格
            Set findMinCell = ws.Cells.Find(What:="Total Min Time", LookIn:=xlValues, LookAt:=xlWhole)
            ' 找到则累加右侧数值
            If Not findMinCell Is Nothing Then
                totalMin = totalMin + findMinCell.Offset(0, 1).Value
            End If
        End If
    Next ws
    
    ' 将结果写入汇总表(可修改目标单元格位置)
    With ThisWorkbook.Worksheets("汇总表")
        .Range("A1").Value = "Total Max Time 总计"
        .Range("B1").Value = totalMax
        .Range("A2").Value = "Total Min Time 总计"
        .Range("B2").Value = totalMin
    End With
    
    MsgBox "总计计算完成!"
End Sub

3. 代码核心逻辑解释

  • 遍历工作表:For Each ws In ThisWorkbook.Worksheets 循环处理每个工作表,通过If ws.Name <> "汇总表"跳过汇总表避免重复计算。
  • 精准查找文本:Cells.Find() 方法定位目标文本,LookAt:=xlWhole 确保匹配完整单元格内容(不会误匹配包含该文本的部分内容)。
  • 偏移取值:findMaxCell.Offset(0, 1) 表示向右偏移1列(行偏移0,列偏移1),.Value 获取该单元格的数值。
  • 结果输出:最后将累加后的总计值写入汇总表指定单元格,可根据需求修改单元格位置(比如改为C5、D5)。

4. 运行代码

  • 回到VBA编辑器,将光标放在代码任意位置,按下F5键,或点击工具栏绿色三角「运行」按钮执行代码。
  • 执行完成后会弹出提示框,切换到汇总表即可查看计算结果。

注意事项

  • 若你的汇总表名称不是「汇总表」,需将代码中所有"汇总表"替换为实际表名(比如"Summary")。
  • 若部分工作表无目标文本,代码会自动跳过该表的对应数值,不会报错。
  • 确保数值单元格为数字格式,避免计算异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 22:52:26