首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel VBA解读(163):错误处理技术之概述

VBA的错误类型 在VBA中,有3类错误: 1.语法错误 2.编译错误 3.运行时错误 使用错误处理来处理运行时错误。...语法错误 当一行代码输入完成后按下回车键时,VBA会评估其语法是否正确,如果不正确,将显示一条错误消息。 例如,在输入If语句时忘记了Then,VBA将显示下图1所示的错误消息。 ?...图1 编译错误 在编译所有代码时发现的语法错误,例如: 1.If语句没有相应的End If语句 2.For语句没有Next 3.Select语句没有End Select 4.调用的Sub过程和Function...过程不存在 5.使用错误的参数调用Sub过程和Function过程 6.在要求声明变量时未声明变量 下图2所示,当If语句没有对应的End If语句时,如果运行代码就会发生编译错误。...还有一些常见的运行时错误,包括数据库不可用、用户输入无效数据、使用的单元格内容应为数字但实际上是文本,等等。 正如我们所看到的,错误处理的目的是处理运行时发生的错误。

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA使用API_01:读取文件

    其实很多系统的操作,像文件的操作等,都是要调用Windows API的,就算是VBA里的文件操作语句: Open pathname For mode [ Access access ] [ lock...1、读取文件: 在Excel VBA里读取文件分3步: Open语句打开文件 Get语句读取数据 Close关闭打开的文件 用API读取文件其实也是一样的,只是我们要自己去声明这3个语句: Public...2、参数传递 值参数 很多参数API中只是使用,所以VBA里传递是按值传递还是按照地址传递其实都是一样的,这个和VBA里的Function是一样的。...另外有很多复杂的参数,一般都不大常用,这种在VBA里我们直接声明为Byval后传递0就可以,像CreateFile里的dwFlagsAndAttributes和hTemplateFile我们都可以设置为...指针参数 这是一种非常容易出错的参数,比如ReadFile中有个参数lpNumberOfBytesRead,这种参数是一种指针,API函数会在内部操作这个指针,所以如果这个参数一旦传递错误,比如按Byval

    1.6K10

    VBA自动筛选完全指南(上)

    标签:VBA,自动筛选,Autofilter方法 许多Excel功能都可以使用VBA来实现,自动筛选就是其中之一,对应着VBA的Autofilter方法。...图1 如果只需要筛选数据并执行一些基本操作,建议直接使用Excel工作界面提供的内置筛选功能。而当希望将筛选数据作为自动化的一部分时,应使用VBA的Autofilter方法。...在这种情况下,使用VBA自动筛选可以加快速度并节省时间。...Field:可选参数,这是要筛选的列号,从数据集的左侧开始计算。因此,如果要根据第二列筛选数据,则该值应为2。 Criteria1:可选参数,这是筛选数据集所基于的条件。...在不使用任何参数的情况下,它只会对列应用或删除筛选图标。

    4.9K10

    Vba菜鸟教程

    文章目录 Vba菜鸟教程 编辑器 宏 vba基本语法 运算符 变量 数组 字典 语句 简写语句 sub语句 调用语句 退出语句 跳转语句 错误处理语句 循环语句 判断语句 公式与函数...错误处理语句 On Error Resume Next遇到错误,跳过,继续执行下一句 Sub test() On Error Resume Next Range("A1") = 10 End Sub...A1") = 1 End Sub On Error GoTo 0,取消错误跳过,使得On Error Resume Next没有作用 Sub test() On Error Resume Next...(Range("A1"),"-")(0) With Sheet1 'DateSerial根据数字转化为日期,取字符串的左边,中间,右边,取得地址,字符串个数,mid第二个参数从第几个字符串开始取...:=参数值 ` 删除,清除内容 Range ("A1:f122").Delete Range("A1:f122").ClearContents `复制 Range("A1:D1").Copy Destination

    17.2K40

    最佳编码实践:搞砸代码的10种方法

    下面是一些常见的错误观念,导致人们选择了错误的捷径,虽然其中一部分只适用于VBA或某种IDE,但大多数都是通用的。...1、我不需要else子句   If…then…else,select case等VBA语句都包含了else子句,这个子句后跟随了所有具体的决策条件,这是处理一些带条件事情的最好机会,但开发人员却忽略了这个机会...3、编译器是在浪费时间   和其它编译器不同,VBA编译器不会生成一个可以脱离Office独立执行的模块,相反,VBA编译器实际上是一个语法检查器,在真实运行之前,编译你的代码是捕捉语法错误简单有效的方法...◆ 在Access中,遇到Null时,Nz()返回一个值,而不是Null。   ◆ 如果你需要处理Null变量,请使用Var数据类型,它是唯一可以存储Null的数据类型。...◆ 传递的值和参数的简短定义。   ◆ 对一些非常规的代码写法,附上解释和想法。

    2.1K40

    Access数据库基本对象

    大家好,后期开始部分介绍Access数据内容,首先简单介绍下学习Access数据库的基本框架,主要包括六个常用的对象:表、查询、窗体、报表、宏、VBA模块。...1、表:存储数据 表是Access数据的最基本对象,专门就是用来放置数据信息,是创建其他五种对象的基础。是Access数据库的基础和核心。...5、宏:执行操作流程控制 在Access数据库中,宏是一段流程代码,预设专门的操作以及操作流程,是应用程序自动化。(与其他微软Office系列软件中宏与VBA相同。)...6、VBA编程:数据关系处理工具 通过VBA编程建立复杂的VBA程序,以完成简单的宏无法处理的任务。用来进行数据计算和判断等。...---- 对于Access数据库的内容,前四种对象是需要学习的基础内容,而宏与模块VBA编程主要是用于创建复杂的程序,可以在进阶时再学习。

    4.6K30

    SQL语言初识

    大家好,前面介绍了查询的选择查询、参数查询、交叉表查询和操作查询,本节开始逐步介绍Access中的SQL查询,SQL查询算是查询的进阶部分。...1、综合统一。2、高度非过程化。3、面向集合的操作方式。4、以一种语法结构提供多种使用方式。5、语言简洁,易学易用。6、对数据统计方便、直观。...1、数据定义语言DDL(Data Definition Language):用于定义数据的结构。 ?...四、Access 中 的 SQL 语 言 1、查询的SQL视图 在Access数据库中,查询操作都是通过SQL语言实现的,主要是数据操作语言DML中的Select语句及其子语句。...2、在VBA代码中使用 SQL语言不仅可以单独使用,还可以在大部分的编程语言中使用。比如在Access的VBA编辑器中,后期如果讲到VBA再做说明。 ? ?

    1.6K20

    Excel实战技巧66:创建向导样式的数据输入窗体1

    引言:本文来源于Jim DeMarco的《Pro Excel 2007 VBA》第4章的示例,详细讲解了如何使用用户窗体来制作一个向导样式的数据输入窗体,非常适合于学习使用VBA来创建用户窗体的知识和技巧...在实践的过程中,可能会发生这样那样的错误,不要着急,仔细对照并调试,相信这样的反复对水平的提高有益无害。再说一遍,跟着做,坚持,拥抱错误并独立解决。 让我们开始吧。...本文的示例工作簿名称为HRWizard.xlsm,由2个工作表组成,如下图1所示。...图1 EmpData工作表被分成4部分:Personal、Address、Equipment、Access,如下图2至图5所示。 ? 图2:员工个人信息 ? 图3:员工地址信息 ?

    1.2K10

    为何网站会出现多个重复内容页面?

    网站产生重复内容的11个原因 1、网址规范化问题会产生重复内容。...本人应为WordPress博客改版,被搜索引擎收录的页面呈现三种状态,动态、改版前及改版后的URL,这就是网址规范化引起的,必须屏蔽。 2、代理商和零售商从产品生产商哪里转载的产品信息。...搜索引擎在不同时间访问网页时,被给予了不同的Session ID,实际上网页的内容都是一样的,由于Session ID参数不同,被搜索引擎误认为是不同的网页。 7、网页实质内容太少。...基于技术因素,有的用户在网站URL后面错误输入任意字符或参数,服务器还能返回200状态码,并在返回时没有加上任意字符或参数时,一样是重复内容页面。

    84700

    Excel实战技巧67:在组合框中添加不重复值(使用ADO技巧)

    对于ADO初学者来说,先集中了解最常用的参数:Provider、Data Source、Extended Properties。 1.Provider:告诉VBA正在使用哪种类型的数据源。...当使用Excel或Access 2007作为数据源时,Provider语法:Provider=Microsoft.ACE.OLEDB.12.0。...如果数据处理需要运行在没有Office 2007的计算机上,需要使用早期版本的Access和Excel提供者版本:Provider=Microsoft.Jet.OLEDB.4.o。...2.Data Source:告诉VBA在哪里找到包含所需数据的数据库或工作簿。使用Data Source参数,要传递完整的数据库或工作簿路径。...告诉VBA数据源来自数据库。当处理Excel 2007工作簿时,参数为:Extended Properties=Excel12.0。

    5.7K10

    【续坑】如何心平气和地填坑之拿RSViewSE的报表说事(2)

    1、 通过ODBC方式记录数据到Access和SQL Server 王老湿不愿意使用这种方式,因为后面查询的时候会很麻烦,很麻烦 通过ODBC方式记录数据到Access、SQL Server、MySQL...1)、在指定位置新建一个Access数据库文件 2)、在RSViewSE内新建Datalog,选择ODBC数据库存储 选择系统数据源,然后点New新建,选中系统数据源 关于文件数据源、用户数据源、...1)、编写脚本读取Access数据库内表的内容 VBA脚本代码中会涉及一个数据库的连接接口ADODB,它是一种兼容的各类数据库应用程序接口(API),各种数据库都可以。...先建一个带输入参数和返回值的子函数,其输入参数是一条SQL查询语句,输出参数是一个二维数组 3、调用数据库读取函数,填充到下拉框里面去 思路:下拉框内应该显示数据库内现有的泵站编号,并且可以选择单独查询一个和查询全部...我们设计定义一个带输入参数的过程,输入的参数为计划写数据的表格的列和每个列要查询的关键字。 注意SQL语句的书写,原则上,SQL语句在这里是一段字符串,可以拼凑,中间还可以嵌入变量。

    3K10
    领券