我很困惑为什么模块中的全局变量在子过程结束时超出范围。
我在所有子程序和函数的模块顶部声明了范围 如下
Option Explicit
Dim TIMEDATA As Range
Dim FREQDATA As Range
Const StartLoc = "B4"
Const flowLoc = "F4"
Const dtLoc = "J8"
在我的子程序中,我定义了一个范围。
Public Sub PortandConvertData()
<SNIP>
Set TIMEDATA = calcSheet.Range(Cells(2, 2).Address, Cells(2 + dataSize, 2).Address)
End Sub
在观察窗口中完成子程序后,我看到变量TIMEDATA来自 范围/范围到范围,值从正确到完全脱离上下文。
我想将数据存储在模块中,而不是粘贴在工作表中。
非常感谢任何帮助
答案 0 :(得分:3)
确保Watch属性中的Context包含您实际正在观看的过程/模块。您可以通过将上下文设置为所有模块来确保:
从“手表”面板:右键单击表达式 - &gt;编辑观看 - &gt;从Context组中将Procedure / Module设置为All。
如果这不是实际问题,那么您遇到的问题与Access VBA相同。
这个帖子解释相同: ThisWorkbook not holding global variable value to cancel ontime()