美文网首页
VBA番外篇02:vba如何debug

VBA番外篇02:vba如何debug

作者: michaelxwang | 来源:发表于2022-06-08 20:50 被阅读0次

需求

在执行VBA时,代码会出现一些bug,找原因的时候就比较麻烦,编辑器自带的调试功能就可以很方便的帮助我们定位到问题所在

具体操作

vba调试代码

1.运行代码 – F5

此功能虽然不在调试菜单里,但是它是最常用的调试方法。很多时候,我们只需要快速运行某一个过程,查看其结果。

F5 快捷键就是运行过程或函数的快速方法。把鼠标光标移动到想要运行的过程或函数内部,按 F5 键即可。

2.按行运行代码: F8

F8 快捷键可以从头按行运行代码,每次按 F8 键,就运行一行代码,然后暂停。

此方法的好处是可以一行一行运行代码,观察每一行代码运行结果,精确找到问题所在。

3.跳过子过程运行:SHIFT + F8

使用 F8 快捷键按行运行代码时,一个过程调用另外一个子过程时,子过程内部也会按行运行代码。

如果想跳过子过程中按行运行代码,可以使用 SHIFT + F8 快捷键。这样可以在父过程按行运行代码,子过程一次性运行所有代码,回到父过程继续按行运行。

4.跳出子过程:CTRL + SHIFT + F8

在子过程按行运行代码时,可以使用 CTRL + SHIFT + F8 快捷键一次性运行子过程余下所有行代码,跳出到父过程。

5.运行到光标位置:CTRL + F8

使用 CTRL + F8 快捷键,可以一次性运行到光标所在位置行后暂停。

当想要检查某一行代码有无问题,又确定改行以上代码没问题时,可以使用此快捷键快速运行代码到当前行。

6.设置断点:F9

断点是代码暂停运行的一行代码。设有断点的代码行,背景颜色突出显示,默认是深红色。

设置/取消断点有两种方法:

  1. 光标放置在一行代码内,按 F9 快捷键。再次按 F9 ,取消断点。
  2. 鼠标点击代码行左侧灰色背景处。再次鼠标点击,取消断点。

断点的数量没有限制,代码每次运行到断点处,会暂停运行。如果想一次性取消所有的断点,可以使用 CTRL + SHIFT + F9 快捷键。

7.查看变量的值

使用按行运行方法或断点设置,代码都会进入到暂停期间。暂停时,下一步运行的代码行背景变为黄色,等待执行。这时把鼠标悬停在任意一变量的上面,可以看到该变量的当前值。这有助于掌握程序运行时,变量的变化情况,快速找到问题。

8.Debug.Print 函数查看变量的值

上面的方法使用鼠标查看变量的值,除此之外,还能在立即窗口,使用 Debug.Print 函数打印出指定变量的值。

9.运行时改变变量的值

代码暂停期间除了查看变量的值外,还能实时改变变量的值,并且鼠标调整下一步运行的代码行。

10.监视表达式

程序运行时查看某一表达式的值,可以使用监视功能。这样查看观察表达式的值更方便。

首先,选中要观察的表达式,然后鼠标右键,弹出的菜单选择【添加监视】。

然后,出现添加监视菜单对话框,点击确定,完成添加。

最后,在编辑器右下方出现监视框。代码运行及暂停时,可以看到当前表达式的值及相关信息。

11.强制结束运行

通常,代码运行到 End Sub 或 End 语句时停止。如果想提前结束程序执行,可以点击工具栏【重新设置】按钮。

总结

代码调试的主要目的是把执行代码范围缩小到一个小的范围,快速定位问题所在。VBA 编辑器提供的调试功能可以很好地完成这一目标。使用调试功能可以做到以下工作:

  • 按行运行代码;
  • 代码运行时,查看某一变量的值;
  • 跳过或跳出子过程;
  • 设置断点,添加监视,查看某一表达式的变化;
  • 强制结束过程。

相关文章

  • VBA番外篇02:vba如何debug

    需求 在执行VBA时,代码会出现一些bug,找原因的时候就比较麻烦,编辑器自带的调试功能就可以很方便的帮助我们定位...

  • VBA学习笔记-02

    VBA学习笔记 笔记摘抄自EXCEL精英培训-蓝色幻想 VBA学习笔记01(链接)VBA学习笔记02 (链接) 目...

  • VBA学习笔记-01

    VBA学习笔记 笔记摘抄自EXCEL精英培训-蓝色幻想 VBA学习笔记01(链接)VBA学习笔记02 (链接) 目...

  • 第一章-環境設置

    了解VBA 學習VBA之前,先了解一下VBA到底是啥玩意。VBA(Visual Basic Application...

  • VBA编程基础1:注释、变量、数据类型、赋值运算

    VBA语言元素 首先是一个简单的VBA Sub过程,包含典型VBA语言元素。 以上过程中包含部分常见VBA语言元素...

  • VBA 知识

    VBA 编程基础 Excel VBA入门(二)数组和字典 Excel VBA 的可变类型Variant ed2k:...

  • 从零开始学VBA PDF版

    本书主要分为6篇,包括Excel VBA准备篇、Excel VBA基础篇、Excel VBA对象模型篇、Excel...

  • VBA

    Tutorial: https://www.tutorialspoint.com/vba/vba_text_fil...

  • Excel 宏基础知识-3

    31 Excel VBA - Sheet Protection 32 Excel VBA - Activate S...

  • 2016-01-27桌面GIS应用软件的开发方式

    1、VBA桌面扩展 1)VBA是简化的Visual Basic语言及其子集 2)用于支持VBA扩展的Windows...

网友评论

      本文标题:VBA番外篇02:vba如何debug

      本文链接:https://www.haomeiwen.com/subject/dvxpmrtx.html