關於內存使用的快速問題,因爲我想始終以最佳方式編寫我的代碼。我環顧四周,但沒有完全發現我的問題。VBA內存使用:在不同的subs中聲明相同的變量vs在公共模塊中聲明相同的變量
我在工作簿中有幾個工作表,我通常在創建新的excel/vba項目時創建這些工作表。這些可能是諸如「圖書館」和「數據」之類的東西。在每個子的開始處,我將聲明:
Dim libWS as Worksheet
Dim dataWS as Worksheet
Set libWS = Worksheets("LIBARARY")
Set dataWS = Worksheets("DATA")
我會爲每個使用這些工作表的子部分執行此操作。我的問題是,在模塊中公開聲明這些工作表並使用工作簿打開宏來初始化它們會更加優化還是相同?
模塊1:
public libWS as Worksheet
public dataWS as Worksheet
此工作簿:
Private Sub Workbook_Open()
Set libWS = Worksheets("LIBARARY")
Set dataWS = Worksheets("DATA")
End Sub
在速度/存儲器使用方面優化的含義。
感謝
我認爲問題是更好的服務在代碼審查。嘗試發佈您的完整代碼以獲得良好迴應。 –
我不會那樣做,至少有幾個原因:(1)全局變量! (2)如果一個未處理的錯誤最終導致您的VB項目重置,您的全局變量將被擦除,您的代碼將被其他代碼炸燬。也許相反,創建一個函數返回一個「設置」對象(每個表單都有字段),並在每次需要處理常用項時調用它。或者在VBProject中更改工作表對象的代碼名稱,然後您可以將它們稱爲(例如)'libWS',而無需聲明它們或將它們設置爲任何內容。取決於您的牀單的靜態。 –
謝謝你的評論。我不知道有一個代碼審查部分。我將在未來利用這一點 – Citanaf