查看窗口:查看运行输出结果 Debug对象: Debug.print ... '打印内容 Debug.assert ... '暂停点,中断程序 VBA程序三种状态:设计、运行、中断模式时。 调试工具: 视图 工具栏 调试 中断程序的方法(3种): 设置断点:调试 切换断点 == F9 使用Debug.Assert方法 添加监视条件:代码窗口(或监视窗口) 右键 添加监视 ...
Often I found many colleges struggling to get a few simple procedures to work. I was amazed that most of them preferred to keep at it, trying to pin down the one line of code the causes their issues, rather then spend a few minutes learning how to properly debug Excel code and get th...
Ctrl+F8:运行程序,直到出现错误、程序结束、程序断点或当前光标所在行为止 debug.print var:在立即窗口中显示var的值 debug.assert var:当var==false时程序自动停止 在调试过程中,可通过下面几种方法查看各个变量的值,当变量和预期不一样时,也就找到了程序出错的原因,便能对照修改: 立即窗口(快捷键Ctrl+G):在该...
Debug.Assert gdicLossy.Count = 0 '* sadly we have lost "Hello world!" forever Dim o As VBAStateLossProofStorageLib.VBAStateLossProofStorage Set o = New VBAStateLossProofStorageLib.VBAStateLossProofStorage Set gdicPermanent = o.getGlobalDictionary Debug.Assert gdicPermanent.Count = 1 '* Hap...
首先谢谢评论区的朋友提醒。之前几期注释用英文不是因为本人想装逼秀英语,只是无奈办公室电脑以及家里台式都是德语系统,如果在Excel里面直接注释中文的话显示为乱码。以后我会将代码贴在知乎后上再添加注释。 解释如下 先看main Sub。 【Debug.Assert如果后面表达式为 假 则会中断程序执行】代码测试时常用到。
debug.assert var:当var==false时程序自动停止 以上命令也可在菜单和命令栏中获取。 在调试过程中,可通过下面几种方法查看各个变量的值,当变量和预期不一样时,也就找到了程序出错的原因,便能对照修改: 立即窗口(快捷键Ctrl+G):在该窗口里会显示debut.print的结果值,以及随时计算和运行代码。在代码前面添加「?」...
运行DebugDemo过程,结果如图10-9所示。 在Excel界面中运行VBA代码时将无法看到Debug.Print语句的打印结果,只有打开VBE才能在【立即窗口】中查看结果。基于Print方法的这个特性,发布VBA应用程序时,并不需要清除代码中的Debug.Print调试语句。 10.2.2 Assert方法 ...
Debug.Assert y <> 0 'Condition met: Continue!x = 120 y = 0 Debug.Assert y <> 0 'Condition false!: Pause!End Sub 运行结果:4 STEPPING THROUGH CODE 单步执行代码 The key to debugging is to skillfully step through your code either by line or an entire function/procedure. Here are the ...
使用Debug.print函数的另一个好处是我们可以保存立即窗口的值,然后慢慢研究。立即窗口可以通过点击菜单“视图”->“立即窗口”来打开,也可以通过快捷键Ctrl+G来打开。除了debug.print,还有一个debug.assert用于指定条件不成立时中断程序执行(和断点一样暂停程序运行),类似在监视窗口添加一个监视条件(监视条件成立时...
1. debug 介绍:调试工具的基石 debug.print x 在不中断程序的情况下输出x 的值 debug.assert 与if 类似, 用与判断一个条件是否成立, 但是if 语句不会暂定程序的执行, 如果assert方法的参数不成立, 程序会暂停进入中断模式. Function assert_test(x As Integer, y As Integer) As Double ...