今日的内容是“VBA之EXCEL应用”的第八章“VBA代码的调试及简单错误的排除”。这讲是第二节“利用单步运行及断点设置来调试程序(Debugging)”。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,案例众多。大家可以非常容易的掌握相关的知识,这套教程面向初学人员,共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。

第二节 利用单步运行及断点设置来调试程序(Debugging)

大家好,我们继续讲解代码的测试及错误处理的方法。这讲的内容是利用单步运行及断点设置来调试程序(Debugging)。这讲的内容对于初学VBA人员是非常重要的,如果您从别人那里得到一段代码,如果你要理解它脚本是什么意思,或者是根据用户的要求进行修改,请记住,调试是理解代码的最好方法。

为了更好地讲解这讲的内容,我建议大家缩小窗口,把VBA窗口和工作表窗口能同时显示,这样可以看到代码的运行和工作表界面的显示效果。

1 代码的单步运行

关于代码的单步运行,我们在上一讲已经讲过,这讲我们继续讲解,单步运行就是把光标放在代码的最开始处,然后按F8键,就可以单步执行代码了。它非常有用,因为它允许你查看工作表中每一行代码的效果。

我们在VBE窗口放入下面的代码:

Sub mynzA() '利用单步运行及断点设置来调试程序

Dim i As Integer, j As Integer

Sheets(“sheet2”).Select

For i = 1 To 2

For j = 1 To 5

Cells(i, j).Value = WorksheetFunction.RandBetween(10, 100)

Next j

Next i

End Sub

代码的截图:

代码的讲解:

1)Sheets(“sheet2”).Select 激活”sheet2”的工作表。

2) For i = 1 To 2

For j = 1 To 5

Cells(i, j).Value = WorksheetFunction.RandBetween(10, 100)

Next j

Next i

以上代码在工作表的第1到第2行,每行的第1到第5列中填入10到100间的随机数。

下面我们看代码的单步运行效果,我们把光标放在代码的起始处:

按下F8键:

再次按下F8键:

再次按下F8 F8 F8键:

再次按下F8键:

如上截图,代码停止在Next j处,此时的工作表中在A1单元格录入了64.

此时如果我们把鼠标放在某个变量如j上会清晰的显示此时这个变量的值,如下图:

后续的代码运行就不一一演示了,可见利用F8键会十分清楚的看到代码的运行情况,以及运行时工作表界面的变化。

2 代码的断点(Breakpoint)设置

我们还可以设置断点在特定代码行停止执行。若要设置断点,请单击要放置断点的左侧空白(灰色)。这时会一出现个红点:

我们此时点击工作表界面的运行按钮,或者是上述截图界面的箭头所指向的三角,此时代码就会运行,直到中断处。如下:

此时的工作表界面会出现已经填入的随机数了脚本是什么意思,此时,当把鼠标指向某个变量时,同样会提示变量此时的值。

要移除断点,请单击红点。接下来,单击绿色箭头继续执行。

3 测试代码的执行过程是发现代码错误的必须

我们在写完代码后,不要希望代码可以一次运行成功,代码的调试过程是必不可少的。对于复杂的程序更是这样。

在代码运行的测试过程中,要随时测试每个变量值的变化,如果出现异常要及时发现。也就是说代码的运行过程要在自己的大脑中进行预演,测试的过程是验证代码的运行是否与自己大脑的过程相吻合。有时这个过程是要花费很长时间的,如果有了一定的经验,可以大大缩短这个时间。

但任何时候,解读一段别人的代码总要比自己写一段代码要复杂些,每个人都有自己的代码习惯,或许这种习惯是其他人难于接受的。

最后我们看一下代码的最后运行结果:

今日内容回向:

1) 代码单步执行和断点设置的作用是什么?

2) 如何设置代码的断点?

3) 如何让代码单步执行?

本讲内容参考程序文件:工作簿07.xlsm

发表回复

后才能评论

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源