e.VBA程序单步调试与对象监视

    今天发现VBA一个神奇的功能,即单步调试对象监视功能,对于难理解抽象语句的我来说,简直发现了新大陆。在这上篇简书中,提到本地窗口、立即窗口和监视窗口【https://www.jianshu.com/p/afd4974c975b 】,在本文展开详细解读:

VBA程序调试·原则及工具

调试目的:程序投入运行前,修正语法错误和逻辑错误,保证程序的正确性。
    根据测试时所发现的错误信息和利用调试工具追踪的提示信息,两者相互结合综合判断 错误发生原因和位置

调试原则:
1、根据代码逻辑,大致判断错误可能出现的位置;
2、借助调试工具,理清程序数据流转逻辑;根据调试的提示信息,做出正确的处理。
3、反思错误本身,是否存在设计偏差。

VBA调试工具:

  • Debug.print
  • 设置断点
  • 单步调试
  • 添加监视及监视窗口
  • 本地窗口
  • 立即窗口
  • 单步调试跳转
VBA程序调试·实际操作

编写程序后,点击运行后报错,程序中断:
VBA程序运行出现错误提示
  • Debug.print 打印错误信息

    Debug.print打印报错信息

  • 设置断点
    点击运行,程序将运行至断点处停止,方便排查错误区域。
    设置断点两种方法:
    1、点击需要断点行的前面,行变深红色;
    2、调试菜单 -> 选择切换断点(光标停在断点行,按快捷键F9)

    设置断点后行项变红

  • 单步调试
    逐条运行程序,便于查看变量值、添加语句或分析bug。
    设置方法:光标停在代码处,点击调试菜单 -> 选择逐语句 (快捷键F9)

  • 添加监视
    可以选择对象进行监视,在监视窗口可查看对象值。
    设置方法:光标变量或对象处,右键 或点击调试菜单 -> 选择**
    添加监视**

    添加监视界面

  • 本地窗口和监视窗口
    通过逐行编译代码,可在立即窗口和监视窗口查看值的内容,发现错误位置及原因。

    添加监视后可见对象的值和类型

  • 立即窗口
    1、打印信息,在窗口输入Debug.print 表达式... 可显示表达式的值;
    2、可以测试过程,在窗口中输入过程名称和实参以便调用;
    3、可以检查错误号,如Error 11 (提示除数为0)

  • 单步强制跳转
    用途:部分时候,需要看下else的运行结果,又懒得去调if的判断值。
    用法:当运行到断点或者单步时,鼠标安装黄色那一行,拖动你要运行的位置。


当然以上错误可通过判断出来,不必设置断点,仅为效果演示~冲鸭!小野s

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容