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

求助:实现表格单元格数值计算转移后自动清空原单元格的功能

设备保养时长自动更新实现方案

操作步骤

  • 打开你的Excel表格,按下 Alt + F11 打开VBA编辑器
  • 在左侧项目资源管理器中找到目标表格文件,右键点击对应工作表(如Sheet1),选择「查看代码」
  • 将下方代码粘贴到弹出的代码窗口中

核心代码

Private Sub Worksheet_Change(ByVal Target As Range)
    ' 仅响应D列(输入时长列)的单个单元格修改
    If Target.Column = 4 And Target.Cells.Count = 1 Then
        Dim inputHours As Double
        ' 验证输入为有效数字
        If IsNumeric(Target.Value) Then
            inputHours = Target.Value
            ' 累加至对应行的总使用时长(B列)
            Me.Cells(Target.Row, 2).Value = Me.Cells(Target.Row, 2).Value + inputHours
            ' 从对应行的剩余保养时长(C列)扣除时长
            Me.Cells(Target.Row, 3).Value = Me.Cells(Target.Row, 3).Value - inputHours
            ' 禁用事件避免循环,清空输入单元格
            Application.EnableEvents = False
            Target.Value = ""
            Application.EnableEvents = True
        End If
    End If
End Sub

关键说明

  • 代码中Target.Column = 4对应D列,若你的输入列不是D,将数字改为对应列的序号(A=1、B=2、C=3)即可
  • IsNumeric校验确保只有输入数字时才执行逻辑,避免非数值输入导致报错
  • Application.EnableEvents = False用于防止清空单元格时再次触发修改事件,造成循环执行

保存注意事项

  • 表格需保存为「Excel 启用宏的工作簿(*.xlsm)」格式,否则宏代码会失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:45:59