VBA调试利器debug.print

作者:iamlaosong

百度一下,很容易找到debug.print解释和使用介绍,其实很简单,就是将代码执行结果显示在“立即窗口”中,但不影响程序执行。VBA程序调试过程中,经常需要监控变量的值,虽然MsgBox也可以完成这个功能,但debug.print显示变量或者表达式的值,有很多优点,具体如下:

1、不影响程序执行,虽然MsgBox也可以显示代码执行结果,但是每次要按确定按钮才能继续下去,碰到大的循环语句简直无法进行;

2、程序调试结束后,应屏蔽这些调试语句,但即使有遗留的debug.print也不影响用户使用,MsgBox则不行;

3、最大的好处是:对于变量的值,可以在“立即窗口”慢慢研究,可以复制出来研究,比如我们要合成一个SQL语句,但执行时出错了,错在哪儿?程序中变量和值搅和在一起,很难找出出错点,尤其是引号和括号较多时,将合成好的SQL语句复制出来执行一下,可以轻松找到问题,MsgBox则不行。

除了debug.print,还有一个debug.assert用于指定条件不成立时中断程序执行(和断点一样暂停),类似在监视窗口添加一个监视条件(监视条件成立时暂停),这在大的循环中找到指定的点很有用,例如:

debug.assert i<126    'i大于等于126时暂停(注意:条件不成立时暂停

顺便说一下立即窗口(按Ctrl+G或菜单选择),除了显示debug.print的执行结果外,在调试期间在立即窗口还可以直接输入语句,按回车后显示语句的执行结果,也可以用“?变量名”来显示变量的值(虽然鼠标移到变量上方时也会显示变量值,但如果值太长,是显示不全的)。例如,如果有个变量是mystr,可以在立即窗口输入下面例句:

? mystr

? left(mystr,5)

? instr(mystr,":")

if len(mystr)>0 then msgbox mystr


  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值