Excel精英培训网

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

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

[复制链接]
发表于 2014-2-20 23:16 | 显示全部楼层 |阅读模式
1.断点
所谓断点,就是代码窗口中的一条可执行语句行。当运行到此行时,便会进入中断模式。
设置有断点的语句所在行,背景会以红色高亮显示,并且在代码窗口左边的边界条中会有红色实心圆点。如下图所示:
5.jpg
切换断点的快捷键是F9
当在设置了断点的代码行下按F9时,会取消之前设置的断点。
在没有设置断点的代码行按F9键则会设置断点。
在一些大型的循环体中,通常会伴随很多的条件判断语句。在调试中,在条件判断的IF下一行语句或ELSE下一行语句(当有ELSE子句并有执行语句)上下断点。这样当代码执行后就会在条件判断后的第一条代码行立即暂停,方便分析。
例如下图代码:
6.jpg
这个循环还是非常小的,判断也就一层,还不足已体现断点的方便。
另外,自己写代码是很容易的事,难得是要让别人读懂你的代码或者读懂别人写的代码(特别是没有注释的情况下),那么就得通过调试去理解代码的思路。这时就是考验你的调试技巧和代码理解力(其实理解还好,通过执行结果去推测意图也是很好的)了。
论坛经常有童鞋发贴求助注释代码,这样的贴子各位童鞋不妨搜索下,一边调试一边添加注释,这也是一个非常好的学习方法。

2.清除所有断点
清除所有工程中的断点。
调试完毕后,省去一个个断点单独F9取消。

3.设置下一条语句
将执行点设置到您所选择的那行代码。如果您想设置一行不同的代码来执行,您可以选定一行想执行的代码后选择“设置下一条语句”命令,或是将当前执行的黄色箭头拖放到您想执行那行代码。
通过这个操作,可以选择一行位于当前选择语句之前或之后的代码。这样当执行代码时,任何位于其中的代码将不会被执行。当您想要重新执行当前过程内的某一语句或是想要跳过一些尚未执行的语句时,便可以使用这个命令。
注意不能使用“设置下一条语句”来把执行点设到另一个过程的语句去,也不能在非执行语句上设置下一条语句。
这个命令相当于打乱当前代码执行的流程顺序,可以跳行执行或重复执行某些行。
在调试中,当某行出错,相关的环境或设置更改后,可以通过这条命令再次某行重新执行,避免结束当前代码重新再来。
快捷键为CTRL+F9

4.显示下一条语句
突出显示下一个将被执行的语句。
使用“显示下一条语句”命令来将光标移到下一行会被执行的程序。
VBA工程比较复杂,模块众多(窗体模块,类模块,标准模块一个不少时),调试时,有可能要切换到不同模块的代码中查看相关代码,当切换不同模块后,通过该命令可以迅速的定位到原执行模块中,并将光标移到下一行将会被执行的代码行。
这个命令只能在功能模式下运行。

4条命令在调试菜单中都能找到,另外在代码区的右键菜单工具栏(右键可以显示调试菜单内一些命令的快捷方式),也有相关的命令。
后面几条命令没有添加对应截图,全是用操作去体会的技巧,截图也无法展示其功能,各位童鞋还是去VBE中捣鼓捣鼓比较好。

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-2-21 08:14 | 显示全部楼层
回复

使用道具 举报

发表于 2014-6-18 13:47 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 08:30 , Processed in 0.292063 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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