[爆卦]VBA 靜態變數是什麼?優點缺點精華區懶人包

為什麼這篇VBA 靜態變數鄉民發文收入到精華區:因為在VBA 靜態變數這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者yimean (溫柔殺手)看板Office標題[算表] VBA全域變數的位置問題時間Mon Oc...


軟體:Excel

版本:2013

各位板上的大大日安。
小弟有一個全域變數管理問題請教。
以前我都是在Sub裡面宣告變數,但是如果有一個變數要更改初始值我就要每一個Sub
都去改。
所以就想到了public變數。
為了集中方便管理,小弟正在思考Public變數放置的位置怎麼樣比較妥當。
目前有兩個想法,還請有經驗的大大指導。

1.放在Workbook物件裡面
2.建立一個模組只有單純的Public變數

會這樣想也是不想要Public變數分散各地,一但模組多了,worksheet多了,也難修改。
煩請指導,感謝。


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.116.8
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1540785301.A.DA2.html
soyoso: 以public來宣告的話,個人會選擇寫於模組內 10/29 12:27
yimean: @Soyoso 感謝回應,但是我發現,如果同時給值的話, 10/29 14:26
yimean: 好像會錯誤,該模組沒有任何程序。程序在其他模組。 10/29 14:27
soyoso: 同時給值的話,好像會錯誤?不確定是回傳錯誤訊息,或是回 10/29 14:47
soyoso: 傳的值非符合所需,這方面提供巨集碼測試才會較確定原po要 10/29 14:48
soyoso: 的是什麼 10/29 14:48
yimean: 我在Public變數的模組有如下宣告 10/29 16:58
yimean: Public dpath As String 10/29 16:58
yimean: dpath = ThisWorkbook.Path 10/29 16:59
yimean: 我的Sub程序在其他模組,他顯示的錯誤訊息是 10/29 17:00
yimean: "不正確的外部程序" 10/29 17:00
newacc: 全域變數初始值建議在Workbook_Open()裡定義 10/30 12:44
newacc: 常數才可以在sub/function外賦值 10/30 12:45
soyoso: 將dpath放置於程序sub,如微軟support內所舉範例 10/30 14:03
soyoso: https://i.imgur.com/Os9rw7M.jpg 10/30 14:03
yimean: 了解,感謝指導。 10/30 19:25

你可能也想看看

搜尋相關網站