[英]Is there a way to display or to view the memory allocated or usage of an array in Excel-VBA?
我想在代码中查看特定数组的内存使用情况。 似乎这个全局数组在我的内存中引起了很多使用。 这也会导致我们的代码出现运行时错误。 当我们擦除该特定阵列时,RTE问题已解决。 另一方面,我们要监视此数组的内存使用情况以获取文档。
我们尝试使用任务管理器来监视内存,但这是针对整个应用程序的。
我希望获取或显示用于监视的特定阵列的已分配内存。
样本简化代码:
全球宣言:
Public array_double(1 to 12) as New Double
内部局部函数
For s = 1 To 8
For i = 1 To 12
array_double(i) = 0#
Next i
For r = 1 To 64
For i = 1 To 12
array_double(i) = array_double(i) + some_value_double
Next i
Next r
Next s
数组存储的是什么-对象,序数类型或字符串? 我认为以下问题和可能的答案可能会有帮助: VBA是否等效于Sizeof()?
这是我在Excel 2003中测试的代码:
Public array_double(1 To 12) As Double
Sub test()
For s = 1 To 65535
For i = 1 To 12
array_double(i) = 0#
Next i
For r = 1 To 64
For i = 1 To 12
array_double(i) = array_double(i) + 1
Next i
Next r
Next s
Debug.Print s
End Sub
多次运行后,任务管理器中的Excel.exe进程的“内存使用情况”列保持为24MB。
我的假设是OP正在检测的泄漏不在数组中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.