如何使用VBA,Excel调试技巧

如何使用VBA,Excel调试技巧,第1张

方法/步骤

进入VBA环境,一种通过宏的方式进入vba环境,另一种就是通过工具---宏---visual basic 编辑器进入,如下图。

双击我们要用vba *** 作的sheet,这里选择sheet1,如下图。

在打开的代码编辑窗口编写代码,如下图所示。

编写好代码后,我们按快捷键Ctrl+G调出立即窗口(用来显示debug.print输出值和调试输出),如下图所示。

使用F8快捷键单步执行程序,结果如下图,要求我们激活宏。

这是我们的Excel宏的安全级别太高导致,现在我们调整下宏的安全级别,如下图。点击工具--宏---安全性。在安全性对话框中,选中安全级别中或者低,点击确定按钮。

关闭文档,重新打开,打开vba编辑器,点击F8,结果如下图。程序就会单步执行,这里为了演示,故意写了句错误语句。

修改语句后,单步执行如下图所示。我们可以看到i,j的输出值。

调出监视窗口, *** 作如下图。在编辑窗口空白处右键点击,选择监视添加监视,如下图。可以将变量或者表达式添加到监视窗口里,单步调试时,可以观察变量变化。

调出本地窗口,本地窗口用来查看现有变量的值。 *** 作如下图所示。这样我们就有了自己调试vba的环境了,几个窗口和单步调试,剩下的就是我们要学习一下这门语言了。

监视窗口

当工程中有定义监视表达式定义时,就会自动出现。

可以:

重置列标头的大小,通过往右拖移边线来使它变大,或往左拖移边线来使它变小。

拖动一个选取的变量,到立即窗口或监视窗口中。

可以按下关闭框,来关闭一个窗口。如果关闭框不是可见的,可以先双击窗口标题行,让窗口变成可见。

窗口部件

“表达式”

列出监视表达式,并在最左边列出监视图标 。

“值”

列出在切换成中断模式时表达式的值。

可以编辑一个值,并且按下 ENTER 键,向上键,向下键,TAB 键,SHIFT+TAB 键或用鼠标在屏幕上单击,使编辑生效。如果这个值是无效的,则编辑字段会保持在作用中,并且值会以突出显示,且会出现一个消息框来描述这个错误。可以按下 ESC 键来中止更改。

“类型”

列出表达式的类型。

“上下文” 列出监视表达式的内容。

如果在进入中断模式时,监视表达式的内容不在范围内,则当前的值并不会显示出来。

可以按下关闭框来关闭一个窗口。如果关闭框不是可见的,可以先双击窗口标题行,让窗口变成可见的。

立即窗口

可以:

键入或粘贴一行代码,然后按下 ENTER 键来执行该代码。

从立即窗口中复制并粘贴一行代码到代码窗口中,但是立即窗口中的代码是不能存储的。

立即窗口可以拖放到屏幕中的任何地方,除非已经在“选项”对话框中的“可连接的”选项卡内,将它设定为停放窗口。

可以按下关闭框来关闭一个窗口。如果关闭框不是可见的,可以先双击窗口标题行,让窗口变成可见的。

注意 在中断模式下,立即窗口中的语句,是根据显示在过程框的内容或范围来执行的。举例来说,如果键入 Print variablename,则输出的就是局域变量的值。这和在程序中止时 Print 方法在正在执行的过程产生一样

1、检查代码中是否有定义另一个也叫“系统登录”的变量。

2、调试,在上面语句 系统登录Show 处设置断点,程序中断后,在监视窗口中加入表达式“系统登录”,看对象内容是否正确。这边显示其内容应该是“对象变量或With块变量未设置”,即没有定义这个变量。

注:VBA,Visual Basic For Application的缩写,也叫做宏程序。是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA必须要有一个宿主应用程序才能运行,而且不能用于创建独立应用程序。VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,适用于来定制已有的桌面应用程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11933465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存