跳到主要内容

如何在Excel中的一个或单个单元格中保持总计运行?

本文将向您展示一种在Excel中的一个或单个单元格中保持总计运行的方法。 例如,单元格A1当前保存一个数字10,当输入另一个数字(例如5)时,A1的结果值为15(10 + 5)。 您可以按照以下步骤轻松完成它。

使用VBA代码在一个或单个单元中保持总计运行


使用VBA代码在一个或单个单元中保持总计运行

下面的VBA代码可以帮助您在一个单元格中保持总计运行。 请按以下步骤进行。

1.打开工作表,其中包含您将继续运行的单元格。 右键单击工作表标签,然后选择 查看代码 从上下文菜单。

2.在开幕 Microsoft Visual Basic应用程序 窗口,将下面的VBA代码复制并粘贴到“代码”窗口中。 看截图:

VBA代码:在一个或单个单元格中保持总计运行

Dim mRangeNumericValue As Double
'Updated by ExtendOffice 20180814

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo EndF
Application.EnableEvents = False

If Target.Count = 1 Then
    If (Len(Target.Range("A1").Value) > 0) And IsNumeric(Target.Range("A1").Value) Then
        If Target.Range("A1").Value = 0 Then mRangeNumericValue = 0
       Target.Range("A1").Value = 1 * Target.Range("A1").Value + mRangeNumericValue
    End If
End If

EndF:
  Application.EnableEvents = True
mRangeNumericValue = 0
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo err0
If Target.Count = 1 Then
    If (Len(Target.Range("A1").Value) > 0) And IsNumeric(Target.Range("A1").Value) Then
       mRangeNumericValue = Target.Range("A1").Value
   End If
End If
err0:
End Sub

备注:在代码中,A1是您将始终在其中继续运行的单元格。 请根据需要指定一个单元格。

3。 按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。

从现在开始,当在单元格A1中键入数字时,总数将继续在内部运行,如下图所示。

最佳办公生产力工具

热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

kte选项卡201905


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
hanks for this, Question: How do you change the address from A1 to another cell?
This comment was minimized by the moderator on the site
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo EndF

Application.EnableEvents = False

**insert the line below and choose the range(s) you would like to change.... every other value stays as "A1"**



If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then



If Target.Count = 1 Then

If (Len(Target.Range("A1").Value) > 0) And IsNumeric(Target.Range("A1").Value) Then

If Target.Range("A1").Value = 0 Then mRangeNumericValue = 0

Target.Range("A1").Value = 1 * Target.Range("A1").Value + mRangeNumericValue

End If

End If

End If



EndF:

Application.EnableEvents = True

mRangeNumericValue = 0

End Sub
This comment was minimized by the moderator on the site
How do I apply this to a column or multiple cells?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations