我遇到全局變量超出範圍的問題。我在 「的ThisWorkbook」 中定義的公共變量:VBA - 全局變量超出範圍
Public dict As Scripting.Dictionary
它被作爲 「Workbook_Open()」 initalized
Set dict = New Scripting.Dictionary
初始化後,我運行一個子(位於 「的ThisWorkbook」 仍然代碼)用自定義類的ID和實例填充此字典。
雖然在其他模塊中使用此dict變量時遇到問題。目標是構建工作表可以調用的大量公共函數。這些函數在字典中的自定義類中操作/檢索/ etc數據。
例如,這個測試子(在ModuleXYZ代碼)拋出「對象變量或帶塊變量未設置」
Private Sub TestSub()
Dim x As Integer
x = ThisWorkbook.dict.Count
End Sub
這是同樣的錯誤,當我第一次開始這個編碼項目,我會得到,當該字典在「ThisWorkbook」模塊中超出了範圍,我必須重做「Set dict = New Scripting.Dictionary」
我希望通過在「ThisWorkbook」中將dict設置爲公共變量, ,這個工作簿在整個開放時間內都會保持在範圍內。
謝謝 - KC
應該保持,只要你做事不重置項目(同樣是所有的真公共變量)。 – Rory