不熟悉在VBA中编写代码,我需要添加一种方法来计算/跟踪宏的使用频率。我正在努力寻找任何可以执行此功能的代码示例。请求任何例子都可能是为了这个目的。
发布于 2018-05-31 05:30:06
Excel VBA没有任何跨会话保留的内置存储-当应用程序关闭时,所有变量都会被释放。但是,您确实有一个现成的存储源-工作簿本身。这里有一种方法:
创建一个名为Counter
(或其他名称)的工作表。也可以选择将其隐藏起来,这样就没有人会弄乱它了。然后,当宏运行时,增加Cell(1,1)
的值,它将保存您的计数器值。
Dim runCount As Integer
Dim counterWS As Worksheet
Set counterWS = ThisWorkbook.Worksheets("Counter")
If counterWS.Cells(1,1) <> vbNullString And IsNumeric(counterWS.Cells(1,1)) Then
runCount = counterWS.Cells(1,1) + 1
Else
runCount = 1
End If
counterWS.Cells(1,1) = runCount
发布于 2018-05-31 05:29:28
在声明变量时使用static
。
我们是否可以声明一个变量来保留上一次运行时的值?
过程内的静态声明将变量限制为该过程-但有助于保留以前运行的变量的值,直到使用‘ReDim’或值设置通过显式声明强制重新初始化。
Sub MySub( )
Static Cnt As Integer
Dim Msg As String
Cnt = Cnt + 1
Msg = “You’ve run the procedure ” & Cnt & ” times”
MsgBox Msg
End Sub
https://stackoverflow.com/questions/50613523
复制相似问题