- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBA編程常见错误原因分析
VBA编程常见错误原因分析
ryueifu_VBA
前 言
目 录
Chapter 1 编译错误 5
1.1.1 忘记了声明变量 5
1.1.2 对象变量的类型,不存在,或者缺少引用 5
1.1.3 工程中,引用缺失,或路径不正确 6
Chapter 2 运行时错误 9
1.1.1 错误测试 10
1.1.2 =号左右两侧不匹配 10
1.1.3 成员或方法不存在 10
1.1.4 数组下标越界 10
1.1.5 集合中,成员不存在 11
1.1.6 文件或文件夹不存在 11
编译错误
编译错误,常常是程序还一句没有运行,就被检查出的错误.
忘记了声明变量
普通模块中,输入这个代码,运行
Option Explicit
Sub MyCode()
Set rg = ActiveCell
MsgBox rg.Address
End Sub
以上代码中使用了对象变量,但是没有事先定义.纠错的方法,有以下2种
规规矩矩定义
Option Explicit
Dim rg As Range
Sub MyCode()
Set rg = ActiveCell
MsgBox rg.Address
End Sub
变量可以不定义 不推荐
Option Explicit
Sub MyCode()
Set rg = ActiveCell
MsgBox rg.Address
End Sub
对象变量的类型,不存在,或者缺少引用
Option Explicit
Sub MyCode()
Dim App As word.Application
Dim doc As word.Document
Dim rg As Ranges
Set rg = ActiveCell
rg.Value = App.Caption
End Sub
上述程序,想在Excel VBA中操作Word,但是没有进行前期绑定;另外,Dim rg As Ranges这句,由于拼写错误,也会引起以下的对话框.
结构不配对造成的错误
Sub MyCode()
Dim rg As Range
Set rg = ActiveCell
If rg.Value 0 Then rg.Font.Color = vbBlue
End If
End Sub
上面这个代码,End if 多余,造成了不配对.类似的还有
Sub End Sub,
With End with
Do Loop
For Next
Type End Type
Function End Function等等
工程中,引用缺失,或路径不正确
以下这个代码,本身没有任何问题,但是由于引用中,有缺失的外部库,所以不能执行,这种现象,经常发生在
引用的dll文件被删.
其他人发来的Excel程序,使用之前,必须重新建立引用.
制作时,和使用时的Office版本不同,比如制作时,引用的是Word 2007,而使用的机器上,仅仅安装了Office 2003,这时候,容易出现以下错误.
在 VBE 的工具/引用中,可以看到,至少有一个外部引用,丢失.或者显示为Missing
解决方法: 先取消引用,再点击浏览按钮,找到目标的dll文件,即可.
Sub RemoveBrokenRef()
Dim ref As reference
For Each ref In Application.VBE.ActiveVBProject.References
If ref.IsBroken = True Then
Application.VBE.ActiveVBProject.References.Remove ref
End if
Next ref
End Sub
运行上述代码,可以快速清除所有破损的引用.
运行时错误
造成这种错误,原因很多种,有时候难以找出.下表列出一部分错误编号和描述.
1 应用程序定义或对象定义错误 51 内部错误 2 应用程序定义或对象定义错误 52 文件名或文件号错误 3 无 GoSub 返回 53 文件未找到 4 应用程序定义或对象定义错误 54 文件模式错误 5 无效的过程调用或参数 55 文件已打开 6 溢出 56 应用程序定义或对象定义错误 7 内存溢出 57 设备 I/O 错误 8 应用程序定义或对象定义错误 58 文件已存在 9 下标越界 59 记录长度错误 10 该数组被固定或暂时锁定 60 应用程序定义或对象定义错误
您可能关注的文档
最近下载
- 升压站(35KV、站用变、施工变、接地变、SVG)设备安装施工方案.docx
- 新教科版六上科学4.4《电能和磁能》优质课件.pptx
- 浅谈暖棚法施工冬季桥梁混凝土施工质量控制.doc VIP
- 消防安全主题班会课件——生命至上预防火灾.pptx
- 2024年资料员考试题库含答案(综合题).docx
- 战场救护知识培训PPT课件.pptx VIP
- 3.3.2 C-2.1 卫生院手术部位识别标识相关制度与流程(2024年4月修订).docx
- 【中文翻译版】美国居民膳食指南2020-2025.pdf
- 部编人教版五年级下册语文教案全册教学设计及教学反思.doc
- 学习铸牢中华民族共同体意识心得(15篇).docx VIP
文档评论(0)