小编J R*_*J R的帖子

具有在过程结束后持久存在的局部变量

我不确定之前是否曾经问过,但我找不到它.假设我有一个带有局部变量的过程.通常,该函数在函数完成运行后会被销毁.但在某些情况下,我希望它能够持久存在,就像在这个例子中一样:

Function myFunction()
   Dim runCount As Integer

   runCount = runCount +1

   debug.print "This function is now running for the " & runCount & " time."
End Function
Run Code Online (Sandbox Code Playgroud)

在此示例中,代码不起作用,因为每次都会重置runCount.当然,最简单的解决方案是声明一个全局变量,但在某些情况下,我想为了简单,封装或其他原因而避免这种情况.

那么,在程序运行完成后,有没有办法让局部变量保持不变?

variables vba encapsulation local-variables

3
推荐指数
1
解决办法
99
查看次数

在VBA中,如何将数组设置为空?

现在,在你说之前 - 我已经阅读了数十个类似的主题,但找不到解决方案。我有一个动态 Variant 数组,必须将其完全清除,因此在 IsEmpty 检查期间将其视为空。我尝试了 Erase,但 IsEmpty 仍然返回 False。我无法对其进行 ReDim,因为该数组是动态的。尝试将整个数组设置为 Nothing,但这在 IsEmpty 检查期间会引发错误。

我做错了什么,如何完全消除该数组,以便 IsEmpty 返回 True?

arrays vba is-empty

2
推荐指数
1
解决办法
1万
查看次数