左丘明说:"人非圣贤, 孰能无过? 过而能改, 善莫大焉",他还说:"视已非而不自见,专窥人眚以为能,斯乃鄙恶之人也"。
翻译一下,他说人都不是神仙,
写VBA代码没有人能一遍过,
重点是你得学会调试,
出错了懂得修改,然后就比抽几口烟还舒服了。
他还说,从来看不见自己错,
专门挑他人的错误
并以此当能耐的,
揩是衰仔。
本贴大致分如下三个部分,如果您已经是位神仙了,麻烦您出门向右转弯。
【一】错误种类与描述
【二】代码调试与排错
【三】错误处理
-------------------------------------------
【一】错误种类与描述:
编译错误,此时代码还未执行,VBE提示输入的代码存在有语法错误
运行错误, 运行时才会出现的错误,错误一般是与待处理的数据相关,或者与数据的处理方法有关
逻辑错误,很可能代码执行正常,但是结果不符合目标
错误代码及含义:
3 无Go Sub返回
5 无效的过程调用或参数
6 溢出
7 内存溢出
9 下标越界
10 该数组被固定或暂时锁定
11 除数为零
13 类型不匹配
14 溢出串空间
16 表达式太复杂
17 不能执行所需的操作
18 出现用户中断
20 无错误恢复
28 溢出堆栈空间
35 子过程或函数未定义
47 DLL应用程序客户太多
48 加载DLL错误
49 DLL调用约定错误
51 内部错误
52 文件名或文件号错误
53 文件未找到
54 文件模式错误
55 文件已打开
57 设备IO错误
58 文件已存在
59 记录长度错误
61 磁盘已满
62 输入超出文件尾
63 记录号错误
68 设备不可用
70 拒绝的权限
74 不能更名为不同的驱动器
75 路径/文件访问错误
76 路径未找到
91 对象变量或With块变量未设置
92 For循环未初始化
93 无效的模式串
94 无效使用Null
96 由于对象已经激活了事件接收器支持的最大数目的事件,不能吸收对象的事件
97 不能调用对象的友元函数,该对象不是所定义类的一个实例
98 属性或方法调用不能包括对私有对象的引用,不论是作为参数还是作为返回值
321 无效文件格式
322 不能创建必要的临时文件
325 资源文件中格式无效
380 无效属性值
381 无效的属性数组索引
382 运行时不支持Set
383 (只读属性)不支持Set
385 需要属性数据索引
387 Set 不允许
393 运行时不支持Get
394 (只读属性)不支持Get
422 属性没有找到
423 属性或方法未找到
424 要求对象
430 类不支持自动化(Automation)或不支持期待的接口
432 自动化(Automation)操作时文件名或类名未找到
438 对象不支持该属性或方法
440 自动化(Automation)错误
442 远程控制到类型库或对象库的连接丢失,按下对话框的[lbk]lbk[rbk]确定[lbk]rbk[rbk]按钮取消引用
443 Automation对象无缺省值
445 对象不支持该动作
446 对象不支持命名参数
447 对象不支持当前的本地设置
448 未找到命名参数
449 参数不可选
450 Protperty过程未定义,Property get 过程未返回对象
452 无效的序号
453 指定的DLL函数未找到
454 代码资源未找到
455 代码资源锁定错误
457 该关键字已经与该集合的一个无素相关联458 变量使用了一个Visual Basic不支持的自动化(Automation)类型
459 对象或类不支持的事件集
460 无效的剪贴板格式
461 方法和数据成员未找到
462 远程服务器不存在或不可用
463 类未在本地机器上注册
481 无效的图片
482 打印机错误
735 不能将文件保存到TEMP
744 要搜索的文本没有找到
746 替换文件太长
1004 应用程序定义或对象定义错误
翻译一下,他说人都不是神仙,
写VBA代码没有人能一遍过,
重点是你得学会调试,
出错了懂得修改,然后就比抽几口烟还舒服了。
他还说,从来看不见自己错,
专门挑他人的错误
并以此当能耐的,
揩是衰仔。
本贴大致分如下三个部分,如果您已经是位神仙了,麻烦您出门向右转弯。
【一】错误种类与描述
【二】代码调试与排错
【三】错误处理
-------------------------------------------
【一】错误种类与描述:
编译错误,此时代码还未执行,VBE提示输入的代码存在有语法错误
运行错误, 运行时才会出现的错误,错误一般是与待处理的数据相关,或者与数据的处理方法有关
逻辑错误,很可能代码执行正常,但是结果不符合目标
错误代码及含义:
3 无Go Sub返回
5 无效的过程调用或参数
6 溢出
7 内存溢出
9 下标越界
10 该数组被固定或暂时锁定
11 除数为零
13 类型不匹配
14 溢出串空间
16 表达式太复杂
17 不能执行所需的操作
18 出现用户中断
20 无错误恢复
28 溢出堆栈空间
35 子过程或函数未定义
47 DLL应用程序客户太多
48 加载DLL错误
49 DLL调用约定错误
51 内部错误
52 文件名或文件号错误
53 文件未找到
54 文件模式错误
55 文件已打开
57 设备IO错误
58 文件已存在
59 记录长度错误
61 磁盘已满
62 输入超出文件尾
63 记录号错误
68 设备不可用
70 拒绝的权限
74 不能更名为不同的驱动器
75 路径/文件访问错误
76 路径未找到
91 对象变量或With块变量未设置
92 For循环未初始化
93 无效的模式串
94 无效使用Null
96 由于对象已经激活了事件接收器支持的最大数目的事件,不能吸收对象的事件
97 不能调用对象的友元函数,该对象不是所定义类的一个实例
98 属性或方法调用不能包括对私有对象的引用,不论是作为参数还是作为返回值
321 无效文件格式
322 不能创建必要的临时文件
325 资源文件中格式无效
380 无效属性值
381 无效的属性数组索引
382 运行时不支持Set
383 (只读属性)不支持Set
385 需要属性数据索引
387 Set 不允许
393 运行时不支持Get
394 (只读属性)不支持Get
422 属性没有找到
423 属性或方法未找到
424 要求对象
430 类不支持自动化(Automation)或不支持期待的接口
432 自动化(Automation)操作时文件名或类名未找到
438 对象不支持该属性或方法
440 自动化(Automation)错误
442 远程控制到类型库或对象库的连接丢失,按下对话框的[lbk]lbk[rbk]确定[lbk]rbk[rbk]按钮取消引用
443 Automation对象无缺省值
445 对象不支持该动作
446 对象不支持命名参数
447 对象不支持当前的本地设置
448 未找到命名参数
449 参数不可选
450 Protperty过程未定义,Property get 过程未返回对象
452 无效的序号
453 指定的DLL函数未找到
454 代码资源未找到
455 代码资源锁定错误
457 该关键字已经与该集合的一个无素相关联458 变量使用了一个Visual Basic不支持的自动化(Automation)类型
459 对象或类不支持的事件集
460 无效的剪贴板格式
461 方法和数据成员未找到
462 远程服务器不存在或不可用
463 类未在本地机器上注册
481 无效的图片
482 打印机错误
735 不能将文件保存到TEMP
744 要搜索的文本没有找到
746 替换文件太长
1004 应用程序定义或对象定义错误