Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3097|回复: 3

[分享] 【烟花原创】VBA零基础之第150篇 变量(五)

[复制链接]
发表于 2014-4-10 23:00 | 显示全部楼层 |阅读模式
四、变量命名注意事项
1.过程级变量与模块级变量的变量名相同
虽然声明是不会有错,但是在使用时会带来诸多不便。
在代码运行时,涉及到的变量,编译器查找时会从小范围开始,找不到再是大范围。过程,标准模块,其他标准模块,基本上就是按这个顺序来查找的。

我们看看代码:
该模块中声明了一个私有的模块变量i,一个公共的模块变量J
test过程中,也有声明两个过程级变量ij,注意,这里变量名就有模块级的重名了,这是一个很不好的习惯,希望大家避免。Test过程中所访问的Ij是过程级的,如果要在该过程中添加代码访问模块级的ij,则需要在两个变量名前分别加上模块名并跟上一个.号。虽然有解决方法,但是不建议这种命名混淆的做法,代码可读性差,灵活性不够。

2.不同标准模块的公共的模块级变量名相同
这也是一个不好的习惯。
当代码行比较多时,大量的过程,模块,类模块一起上阵的时候,估计理清头绪都会让你弄得抓破头皮,更不要说调试的时候。
当你需要跨模块访问同名的公共模块级变量时,还是需要加上模块名前缀并跟上一个.号。
虽然这样可以解决问题,但是还不是推荐。

3.如果访问工作表对象,窗体对象的变量
这里说的还是模块级的,过程级是没法访问到的。
Private声明的私有变量,跨模块是不能访问到的,只有用Public声明后,通过加上工作表对象的名字并附上.,这样才能访问到,例如sheet1.strMsg这种形式。
同理,窗体中的也是如此。
注意,当窗体关闭后(除非调用hide方法隐藏),窗体对象中的公共变量的值也就不复存在了。
发表于 2014-4-11 09:59 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-27 08:51 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-27 18:11 | 显示全部楼层
变量级别是要搞清楚
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 12:15 , Processed in 0.156682 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表