您可能需要一种跟踪特定工作表使用次数的方法。您可以通过多种方法来完成此任务。一种简单的方法是仅将计数存储在工作表本身中。

右键单击工作表选项卡,然后从上下文菜单中选择“查看代码”。 Excel将显示Visual Basic编辑器,您应在其中粘贴以下代码:

Private Sub Worksheet_Activate()

Range("A1").Select 'customize Range     ActiveCell = ActiveCell + 1     Range("B1") = "times opened" 'customize Range End Sub

每次激活工作表时,此代码都会递增单元格A1中的值。您可以根据需要修改宏写入其信息的单元格位置。

一种更彻底的方法是创建一个宏,该宏在工作簿中递增命名的引用。请考虑以下宏:

Function IncrementEventCounter(sName As String, sht As Object)

On Error Resume Next     If sht.Names(sName) Is Nothing Then _       ThisWorkbook.Names.Add "'" & sht.Name & "'!" & sName, "1", False     On Error GoTo 0     With ThisWorkbook.Names("'" & sht.Name & "'!" & sName)

.RefersTo = Val(Mid(.Value, 2)) + 1     End With End Function

此函数设计为从另一个宏调用-一个由事件触发的事件,该事件应导致使用计数器增加。

例如,如果要跟踪每次激活工作表的情况,则可以将以下宏用作ThisWorkbook对象的一部分:

Private Sub Workbook_SheetActivate(ByVal sh As Object)

IncrementEventCounter "Activated", sh End Sub

该宏为工作表增加一个名为“已激活”的计数器。它通过调用带有计数器名称和工作表名称的IncrementEventCounter宏来实现。相反,如果您想计算工作表的更改次数,则可以将以下宏用作ThisWorkbook对象的一部分:

Private Sub Workbook_SheetChange(ByVal sh As Object, _   ByVal Target As Excel.Range)

IncrementEventCounter "Changed", sh End Sub

此宏与上一个宏之间的唯一区别是,它会递增一个名为“ Changed”的计数器。要查看计数器的值,只需在引用该计数器的单元格中输入公式。例如,您可以输入= Changed以查看已更改计数器的值,或输入= Activated以查看已激活计数器的值。每个计数器的值在每个表中都会有所不同,因为计数器是逐页维护的。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2497)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: