作者yimean (温柔杀手)
看板Office
标题[算表] VBA全域变数的位置问题
时间Mon Oct 29 11:54:59 2018
软体:Excel
版本:2013
各位板上的大大日安。
小弟有一个全域变数管理问题请教。
以前我都是在Sub里面宣告变数,但是如果有一个变数要更改初始值我就要每一个Sub
都去改。
所以就想到了public变数。
为了集中方便管理,小弟正在思考Public变数放置的位置怎麽样比较妥当。
目前有两个想法,还请有经验的大大指导。
1.放在Workbook物件里面
2.建立一个模组只有单纯的Public变数
会这样想也是不想要Public变数分散各地,一但模组多了,worksheet多了,也难修改。
烦请指导,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.116.8
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1540785301.A.DA2.html
1F:→ soyoso: 以public来宣告的话,个人会选择写於模组内 10/29 12:27
2F:→ yimean: @Soyoso 感谢回应,但是我发现,如果同时给值的话, 10/29 14:26
3F:→ yimean: 好像会错误,该模组没有任何程序。程序在其他模组。 10/29 14:27
4F:→ soyoso: 同时给值的话,好像会错误?不确定是回传错误讯息,或是回 10/29 14:47
5F:→ soyoso: 传的值非符合所需,这方面提供巨集码测试才会较确定原po要 10/29 14:48
6F:→ soyoso: 的是什麽 10/29 14:48
7F:→ yimean: 我在Public变数的模组有如下宣告 10/29 16:58
8F:→ yimean: Public dpath As String 10/29 16:58
9F:→ yimean: dpath = ThisWorkbook.Path 10/29 16:59
10F:→ yimean: 我的Sub程序在其他模组,他显示的错误讯息是 10/29 17:00
11F:→ yimean: "不正确的外部程序" 10/29 17:00
12F:→ newacc: 全域变数初始值建议在Workbook_Open()里定义 10/30 12:44
13F:→ newacc: 常数才可以在sub/function外赋值 10/30 12:45
14F:→ soyoso: 将dpath放置於程序sub,如微软support内所举范例 10/30 14:03
16F:→ yimean: 了解,感谢指导。 10/30 19:25