Excel精英培训网

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

[分享] 【烟花原创】VBA零基础之第105篇 VBA调试(四)

[复制链接]
发表于 2014-2-21 22:31 | 显示全部楼层 |阅读模式
本帖最后由 hwc2ycy 于 2014-2-21 22:32 编辑

监视窗口VBE提供的多功能调试工具。如果在VBE中没有找到监视窗口,可以单击菜单视图 中的监视窗口。
1.jpg

既然是多功能调试工具,那想必一定有什么过人之处。
首先在中断模式下单步执行代码时,可以在该窗口中显示变量或表达式的值。
当然光靠显示变量或表达式的值这算不了什么,细心的童鞋有可能就会发现,其实在中断模式下调试时,移动鼠标光标到变量,表达式甚至对象时,就能显示出对应的值(对于对象如果没有指定属性,有可能是缺省属性的值),另外在立即窗口中也是可以实现显示变量的值的。
其次,在代码运行时,通过添加表达式,可以实现当表达式的值为True或改变时,可以让代码进入中断模式。这可是监视窗口的独家本领。
VBE处于设计模式时,监视窗口是无效的。只有运行代码后,这些功能才有效果。

1.如何添加监视
添加一个监视表达式时,不需要在中断模式,设计模式也是可以的。
但是要想看到表达式的值,则需要在中断模式下(模块级变量例外)。

方法一:在代码窗口中右键菜单
添加监视
2.jpg

监视类型根据自已的需求来选择,默认是第一个选择监视表达式。
表达式可以是一个变量、属性、函数调用或其他任何正确的表达式。
上下文用来设置在表达式中所监视变量的有效范围,指明其在哪一个模块哪一个过程中监视。
如果是模块级变量,过程可以选所有 。在设计模式时,模块级变量的值是可以显示出来的。
过程级变量(过程内声明的变量)的值在设计模式时,其值会显示为溢出上下文。
监视类型:
监视表达式:在监视窗口中显示监视表达式及其值。当进入中断模式,监视表达式的值会自动更新。
当值为 True 时中断 当表达式为 True 或任何非零值 ( 字符串表达式不适用 ) 时,会自动进入中断模式。
当值改变时中断:当监视的表达式的运算值改变时,会自动进入中断模式。
示例代码如下:
3.jpg
添加了4个监视后(三种类型均有),监视窗口显示如下:
4.jpg
注意上图,监视类型不同,表达式列中显示的图标也会有所不同。至于每个图标所代表的监视类型就得各位自己去分别添加不同的监视类型自己探索,这里就不做介绍了。
值就是表达式的值,模块级变量的值能在设计模式中显示,其他三个表达式的值就无法显示了(上下文已经告诉我们了这三个表达式是在模块状的test过程中)。在中断模式下调试时,可以直接双击表达式的值进行修改。
大家可以自己动手录入代码,分别添加三种类型的监视,然后直接F5测试。对于第一种类型,就只有在中断模式下去单步观察了。

方法二:代码窗口中选中一个变量(或对象的属性),直接拖拽到监视窗口
注意是一个,声明的dim a,b,c这种直接拖拽到监视窗口中是无效的。

方法三:在代码窗口 立即窗口 中选定表达式,然后执行 快速监视 命令。快速监视命令在调试菜单中可找到。
5.jpg
例如上图,选中strmsg变量后,单击调试菜单中的快速监视后会弹出一个窗口。
选择添加就到了直接添加到立即窗口了,监视类型为第一种。
发表于 2014-6-18 13:47 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 07:21 , Processed in 0.118098 second(s), 4 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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