簡體   English   中英

子程序完成后,Excel VBA全局范圍變量超出范圍

[英]Excel VBA Global Range variable out of scope after sub procedure completes

我很困惑為什么模塊中的全局變量在子過程結束時超出了范圍。

我在所有子程序的模塊頂部聲明了范圍,其功能如下所示

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從范圍/范圍變為范圍,值從正確變為脫離上下文。

我想將數據存儲在模塊中,而不是粘貼在工作表中。

任何幫助深表感謝

確保Watch屬性中的Context包含您實際正在觀看的過程/模塊。 您可以通過將上下文設置為所有模塊來確保:

從“監視”面板:右鍵單擊“表達式” - >“編輯監視” - >從“上下文”組中將“過程/模塊”設置為“全部”。

如果這不是實際問題,那么您遇到的問題與Access VBA相同。

這個帖子解釋相同: ThisWorkbook沒有保存全局變量值來取消ontime()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM