ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 71455|回复: 193

14幅图配文,给初学者的几个实用建议!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-7-19 11:10 | 显示全部楼层 |阅读模式
在编写VBA代码时,注意以下几个细节,你将会事半功倍
1、启用VBE编辑器所列的 代码设置 的全部选项。

V1.gif
1  自动语法检测:这样在编写代码时,系统随时会进行语法检测,每输入一行代码,系统就会自动检测当前行是否语法正确,如果出错会马上通知你,让你及时修正,而不是集中到编译时(运行前)才提示。及时报警可以让我们及时修正,否则时间一长,你自己都可能会要想半天,既提高效率,又减少错误。
2  自动列出成员、自动显示快速信息、自动显示数据提示:这在编程、单步执行时很有用途。比如,我们在编写代码时,输入了“thisworkbook.”,当你一输入这个”.”时,thisworkbook对象的所有方法、属性都以列表框形式出现在右边,供你选择。
V2.GIF
自动显示快速信息、自动显示数据提示则是在代码调试阶段使用,一旦你在调试代码时,当鼠标停留在某个变量上方时,系统就会自动将其值用小框框提示出来。方便调试和监视。

V3.GIF
3  要求变量声明:应该养成这样一个好习惯,变量使用之前先声明。这样有一个好处就是,在编写代码时,你已经定义的变量也自动进入了“自动完成”的清单,而且变量默认的方法、属性也可以实现自动完成。比如,你在代码中,声明了一个工作表对象,然后地代码中使用这个变量时,就可以具备和系统变量一样的功能。另外,还有一个好处就是,你可以不必记忆住变量的全部字符,输入几个字符之后就使用“自动完成关键字”功能,就可以在列表框中或者直接完成变量的输入。比如,下面的代码,当你输入”我”之后,使用“自动完成关键字”功能,相关的变量就可以在列表中选择,既保证了变量的正确性,也省略了记忆完整变量名的麻烦。
V4.GIF V5.GIF

如果,声明时的变量在你使用“自动完成关键字”功能时,后面匹配的选项只有一个时,关键字就会自动完成输入,而不再弹出列表框。如:
Option Explicit
Dim 老朽的工作表 As Worksheet '声明一个工作表对象
Dim 我的工作簿 As Workbook
Sub zldccmx()
当你在代码中,输入老朽之后再启动“自动完成”功能时,时,老朽立即变成了老朽的工作表是不是很方便呢

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-19 11:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
2、擅于使用自动完成功能。前面列举了“自动完成关键字”功能的诸多好处,相信你没有理由不使用它。默认的快捷键是CTRL+空格。由于CTRL+空格同时是操作系统的切换输入法的快捷键,因此,我们就必须修改其中一个的快捷键。VBE比较霸道,没有办法修改快捷键,那我们就只有修改操作系统的快捷健了,将CTRL+空格腾出来给VBE用。
V6.GIF
设置输入法属性,然后点键设置,找到操作系统指定快捷键为CTRLSpace的对应操作,然后修改其快捷方式,比如:
V7.GIF
这样,在VBE中你就可以使用CTRLSpace调用“自动完成关键字”功能了。

[ 本帖最后由 zldccmx 于 2009-7-19 11:13 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-19 11:11 | 显示全部楼层
3、在代码中,我们可能会随时使用到ActiveCellActiveSheetActiveWindowActiveWorkbook等对象,尽管这些都是VBA的保留字,但是VBA却视它们为私生子,在代码中只能够完成关键字自动输入,但是却没有提供自动显示快速信息功能,当你输入完这些保留字时,该对象相应的方法和属性列表却不会显示出来。
V8.GIF

怎么办?

老朽教你一招,使用我们的自定义变量功能,如右图:
V9.GIF


[ 本帖最后由 zldccmx 于 2009-7-19 11:15 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-19 11:12 | 显示全部楼层
4、当你引用外部对象时,尽量使用前期声明调用,而不要图方便使用后期套用。

以引用字典对象为例:
所谓前期声明调用,就是在VBE中先引用对应的工程库,如图:
V10.GIF
然后在代码中,就使用声明语句,当你输入完
Dim Dic As New ”之后,就可以在列举框中选择”Dictionary”,老朽英语N差,这个单词经常写错,使用这个功能之后就再也不用担心这个单词写错了。
V11.GIF
当然,这样做的目的远远不止这个。这样前期声明引用之后,在编写代码时,字典对应的方法、属性就可以很轻松的调用,一目了然。
还是说到老朽的英语水平,那个检测字典中是否存在某一记录的方法.Exists,这么多年了,老朽硬是记不准,经常出错。经过前期声明引用,这种尴尬就不再出现了。
V12.GIF

[ 本帖最后由 zldccmx 于 2009-7-19 11:17 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-19 11:15 | 显示全部楼层
大家根据下面的介绍,可以比较一下,取消前期声明引用,而是直接套用字典对象。
1  取消工程引用。
V13.GIF
2  在代码中这样来套用字典对象
V14.GIF
同样是引用外部对象,使用前期声明引用的好处就不言而喻了!

[ 本帖最后由 zldccmx 于 2009-7-19 11:18 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-19 11:19 | 显示全部楼层
14幅图+文字解说,凝聚着老朽多年实践的经验,希望对你有所帮助!

TA的精华主题

TA的得分主题

发表于 2009-7-19 11:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢老朽,你多年实践的经验是我们学习的榜样。

TA的精华主题

TA的得分主题

发表于 2009-7-19 11:54 | 显示全部楼层
好好学习一下,感谢楼主分享

TA的精华主题

TA的得分主题

发表于 2009-7-19 12:55 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-7-19 13:23 | 显示全部楼层
有什么办法能更快地学习VBA
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-21 20:47 , Processed in 0.037841 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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