本帖最后由 hwc2ycy 于 2014-2-18 23:17 编辑
讲完了如何在代码中进行错误处理,今天开始讲讲如何调试代码。 调试在编程中是非常重要的一环,记得在论坛上第一次答VBA题,刚好碰到的是个排错题。那会还只刚刚学了基本的语法,还没写过几句代码。找着试试的心态玩玩,没成想这个排错竟然花了一天的时间才解决完,中间就是不停的F8,下断点,找出错的原因,看本地窗口。中间也记不清不停的重试了多少回,回想那个过程,真是晕并快乐着。
1.模式 当代码运行后一般会处于下列两种模式之一: 运行模式,正如其名,当你击运行或按F5后,代码便开始执行。 中断模式,顾名思义,当前代码暂时中止运行(不是结束)。
在调试代码时,一般在此模式下进行。 通常在以下几种情况下可以进入中断模式:
A.执行程序时遇到断点。
光标定位在执行语句所在行,按 F9键可设置/取消断点。
菜单 调试 中点击切换断点也可。
设置了断点的代码所在行是以红色背景显示(颜色是可以定制的)
注意不可在声明语句,行标签所在行设置断点。
B. 在执行过程时按下CTRL+BREAK键
在讲Excel的应用程序对象时有讲过EnableCancelKey属性可以控制Excel如何处理CTRL+BREAK用户中断。
当代码在运行的过程中无法按键取消(手慢另算)时,可以查查代码中是否有设置这个属性。
很多窗体代码中会设置此属性。
C.在执行时映衬到 STOP语句或未捕获的运行错误
关于未捕获错误中断的设置之前有提到在菜单 工具 选项窗口。 D.添加一个 监视,当 监视值为真或改变时中断
E. Debug. Assert中的参数表达式为False时
代码运行中断后,可以看从本地窗口中发现变量i的值为5,此时i<5不成立,结果为False。
F.逐语句(F8) 在代码窗口中光标定位到过程中时,按F8键逐行可进入中断模式。 中断时,代码所在的时为 黄色背景,如下图所示。
|