如何在Excel中统计单元格被更改的次数?


在协作环境中,当您想要监控特定单元格或单元格区域的历史记录时,跟踪 Excel 中的更改非常重要,多个用户可以访问同一个工作簿。通过计算单元格被更改的次数,您可以轻松跟踪对单元格所做的修改,并识别是谁进行了更改以及何时进行了更改。在本教程中,我们将向您展示如何使用简单的公式来计算 Excel 中单元格被更改的次数,以及如何根据您的需求自定义它。无论您是 Excel 初学者还是经验丰富的用户,本教程都将帮助您提高技能,并更有效地跟踪 Excel 工作簿中的更改。那么,让我们开始吧!

统计单元格被更改的次数

在这里,我们将使用 VBA 应用程序来完成此任务。让我们来看一个简单的过程,了解如何在 Excel 中统计单元格被更改的次数。

步骤 1

考虑任何 Excel 表格,右键单击工作表名称并选择“查看代码”以打开 VBA 应用程序,然后将下面提到的代码复制到文本框中,如下所示。

右键单击 > 查看代码 > 插入 > 模块 > 复制代码。

Dim xCount As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim xRg As Range, xCell As Range
   On Error Resume Next
   If Target = Range("A2") Then
      xCount = xCount + 1
      Range("B2").Value = xCount
   End If
   Application.EnableEvents = False
   Set xRg = Application.Intersect(Target.Dependents, Me.Range("B9"))
   If Not xRg Is Nothing Then
      xCount = xCount + 1
      Range("B2").Value = xCount
   End If
      Application.EnableEvents = True
End Sub

步骤 2

从现在开始,每次我们更改单元格 A2 中的值时,我们都可以在单元格 B2 中看到计数,如下所示。

注意

如果我们需要应用于一系列单元格,可以使用以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim xSRg As Range
   Dim xRRg As Range
   Set xSRg = Range("B9:B1000")
   Set xCell = Intersect(xSRg, Target)
   If xCell Is Nothing Then Exit Sub
   Application.EnableEvents = False
   On Error Resume Next
   Set xCell = xCell.Range("A1")
   Set xRRg = xCell.Offset(0, 1)
   xRRg.Value = xRRg.Value + 1
   Application.EnableEvents = True
End Sub

结论

在本教程中,我们使用一个简单的示例来演示如何统计 Excel 中单元格被更改的次数,以突出显示特定数据集。

更新于:2023年7月12日

461 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.