在中断模式下(ctrl+Break键),可以做:

1.执行    工具----选项----编辑器----勾选“自动显示数据提示”

则当用鼠标悬停在变量或表达式上时,会出现提示窗口,显示其名称和值!

2.在监视窗口查看某些表达式的值,方法是:先用鼠标拖黑以选中表达式,再执行   调试----添加监视,出现“添加监视”对话框。

3.在代码窗口中选中表达式----按shift+F9----出现”快速监视“对话框,显示该表达式的上下文,表达式及其值。

4.按ctrl+G,出现"立即窗口”。它主要有4个作用:

(1).打印信息

在窗口中输入Debug.Print 表达式1;表达式2......,即可以显示各表达式的值!

2.可以给变量或属性赋值!

例如:Form1.BackColor=255

MaxRows=50

3.可以测试过程

在此窗口中可以直接输入过程名称和实参以便调用过程。

例如:

MySub 2*i

4.可以检查错误号

例如:输入

Error 11

按下回车键时,在此窗口中显示11号错误的信息。我常用这个方法来检查错误号!

断点

在设计和中断模式下都可以设置断点,当程序执行到断点语句时,则中断执行,这时处于中断模式!

1.设置断点

在代码窗口,用鼠标点击左边区使之出现黑点,代表已经设置断点!也可以把光标移动到选定语句上,按F9.

断点语句以粗体字表示,颜色可以由:  工具---选项---编辑器格式---代码颜色----“断点点文本”选项设定!

2.撤销断点:

调试----清除所有断点(ctrl+shift+F9)

3.使用Stop语句

关闭项目时,断点不被保存,下次调试时需要重新设置。

如果多次调试,最好的方法是使用Stop语句,每当遇到它,程序进入中断模式。

Stop语句可以保存在代码中,测试完后可以全部取消!

监视窗口可以监视表达式,“快速监视”窗口也可以显示表达式的值。

立即窗口对表达式求值,给变量和属性赋值。

本地窗口显示局部变量的当前值。例如下图自己定义的变量:

单步执行调试程序:

1.调试----逐语句(按快捷键是F8)

2.在逐语句执行过程中,遇到调用的过程,不想进入其中停留,按shift+F8,可以“逐过程”执行而不进入!

3.跳出过程

调试----跳出(快捷键是ctrl+shift+F8),可以运行当前过程剩余语句代码,转到调用该过程语句的下一个语句去!

4.执行特定的语句块

这是很重要的一个方法,常用到:在中断模式下,把光标移到要执行的语句行处,执行   调试---设置下一条语句,

用它可以设置下次要执行的语句。再把光标移到要停止的语句处,执行  调试----运行到光标处(快捷键是ctrl+F8),则可以运行到该语句处!

这种方法的优点是可以绕过不想执行的语句块(例如你明确知道某个有问题的语句)。

但是可以执行   工具----选项----编辑器----自动语法检测,则在代码窗口输入代码产生语法错误时,会立即显示出错误信息!

调用堆栈:应用程序处于中断模式时,显示已被调用过的过程!

1.怎么显示调用堆栈的对话框:视图---调用堆栈(快捷键是ctrl+L)

2.跟踪嵌套过程

在VBA过程中,常常有调用另外某个或某几个过程,模块,窗体。

可以用“调用堆栈”从下往上显示已活化过程的项目名称,模块或窗体名称和过程名称。

操作方法是:ctrl+L  ----用鼠标选中某个过程-----显示。

这时,代码窗口显示出该过程,光标处于即将调用下一个过程的调用语句处。

此时,按(shift+F9)用“快速监视”或(ctrl+G)立即窗口,可以显示有关变量!

3.用“调用堆栈”来检查过程调用自身的能力

出处:http://club.excelhome.net/thread-225648-1-1.html

调试VBA程序常用方法的更多相关文章

  1. 【VBA编程】02.调试VBA程序

    初次编写程序并不一定能成功的运行,可能其中还存在逻辑上或语法上的错误,此时就需要逐步调试,排查错误,一般情况下,编写程序的工作讲究的是三分编程,七分调试. [代码区域] Sub Second() Di ...

  2. VBA程序的调试

    VBA程序的调试:设置断点.单步跟踪.设置监视窗 Acces的VBE编程环境提供了完整的一套调试工具和调试方法.熟练掌握好这些调试工具和调试方法的使用,可以快速.准确地找到问题所在,不断修改,加以完善 ...

  3. 使用VS+VisualGDB编译调试Linux程序

    Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...

  4. 使用未付费的账号真机调试 iOS 程序,过几天后程序一打开就会闪退

    使用未付费的苹果开发者账号真机调试 iOS 程序,过几天后程序一打开就会闪退.   解决办法: 删除 Provisioning Profile,重新配置一次. 终极解决办法:花钱购买苹果开发者账号. ...

  5. Gdb调试多进程程序

    Gdb调试多进程程序 程序经常使用fork/exec创建多进程程序.多进程程序有自己独立的地址空间,这是多进程调试首要注意的地方.Gdb功能强大,对调试多线程提供很多支持. 方法1:调试多进程最土的办 ...

  6. 利用 PhpStorm、Idea 等 IDE 如何 运行/调试 Go 程序 ?

    以自己常用的 PhpStorm 为例 第一步:下载安装 Go插件 File -> Settings -> Plugins -> 输入关键字:Go 第二步:新建 Go项目 File - ...

  7. PDB调试Python程序

    pdb是python内置的调试工具, 它可以在终端中调试Python程序, 这允许pdb在很多无法安装IDE的服务器上使用. 虽然远程调试使用广泛, 但在必要的时候(比如难以在本地搭建运行环境)pdb ...

  8. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  9. 【php】使用gdb调试php程序

    1.简介 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.同时GDB也具有例如d ...

随机推荐

  1. os包方法

    os包中实现了平台无关的接口,设计向Unix风格,但是错误处理是go风格,当os包使用时,如果失败之后返回错误类型而不是错误数量. os包中函数设计方式和Unix类似,下面来看一下. func Chd ...

  2. 20145229吴姗珊《网络对抗》WEB基础实践

    20145229吴姗珊<网络对抗>WEB基础实践 基础与实践 基础问题 1.什么是表单 表单是可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 一部分是HTML源代码用于 ...

  3. JavaWeb HTTP

    1. Http协议 1.1. 什么是Http协议 Http的全称为HyperText Transfer Protocol,译为超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通 ...

  4. git多站点帐号配置

    事件场景 小明同学是一个非常努力的coder,业余时间都花在了github.com上面,因为公司的台式机性能比较好,小明同学想在公司电脑上面也进行开发.但是github上面的帐号邮箱跟公司分配的帐号邮 ...

  5. java基础(3)--8种基本类型

    八种基本类型 数据类型分为两大类:基本类型,引用类型 基本类型有8种,除了基本类型(8种)以外任何类型都是引用类型.如: String 是引用类型 基本类型有8种(首字母是小写): 整数:byte, ...

  6. 分布式技术 webapi

    webapi可以返回json.xml类型的数据,对于数据的增.删.改.成,提供对应的资源操作,按照请求的类型进行相应的处理,主要包括 Get(查).Post(增).Put(改).Delete(删),这 ...

  7. 在NLP中深度学习模型何时需要树形结构?

    在NLP中深度学习模型何时需要树形结构? 前段时间阅读了Jiwei Li等人[1]在EMNLP2015上发表的论文<When Are Tree Structures Necessary for ...

  8. windchill系统——开发_客户端自定义

    步骤如下

  9. 网络数据包头部在linux网络协议栈中的变化

    接收时使用skb_pull()不断去掉各层协议头部:发送时使用skb_push()不断添加各层协议头部. 先说说接收: * eth_type_trans - determine the packet' ...

  10. Spring -- 入门,装备集合,自动装配,分散装配,自定义编辑器

    1. 概要 struts2:web hibernate:持久化 spring:业务层.管理bean的,容器.List Map Set. 体验spring: 1.创建java项目. 2.引入spring ...