文档详情

Excel_VBA 从入门到精通必备.doc

发布:2017-05-05约47.47万字共513页下载文档
文本预览下载声明
为入门篇:VBA优势、功能与概念 从Excel插件认识VBA 简单的说,Excel VBA是依附于Excel程序的一种自动化语言它可以使常用的程序自动化=DATEDIF(DATE(MID(B3,7,4-(LEN(B3)=15)*2),MID(B3,11-(LEN(B3)=15)*2,2),MID(B3,13-(LEN(B3)=15)*2,2)),NOW(),Y) (2)在单元格D3输入以下公式,用于计算出生日期: =TEXT(RIGHT(19MID(B3,7,LEN(B3)/2-1),8),#年##月##日) (3)在单元格E3输入以下公式,用于计算性别: =IF(ISODD(MID(B3,15,3)),男,女) 注意:在Excel 2003中,ISODD函数默认状态下无法使用,需要加载“分析工具库”才可以正常使用,为了使公式通用,通常改用MOD函数。即公式改为:=IF(MOD(MID(B3,15,3),2),男,女) (4)选择C3:E3区域,将公式向下填充即完成身份证信息提取。效果如下: 图1.2 公式法获取身份证信息 点评:相对于手工输入法,利用公式从身份证号码获取个人信息有着效率更高、错误率更低之优点,人员越多时越能体现出其高效优势。 本例文件参见光盘:..\ 第一章\提取身份证信息.xlsm 1.1.2 自定义函数法 自定义函数是指利用VBA编写的外置函数。在本例的随书光盘中已经录入了相关的VBA代码,可以随时调用。对于代码的含义和录入方式在后面的章节后有详细介绍,本章仅通过具体应用了解其用法与优势。具体操作步骤如下: (1)进入“自定义函数法”工作表; (2)在C3:E3区域分别输入以下三个公式,用于计算年龄、出生日期和性别: =SFZ(B3,NL) =SFZ(B3,SR) =SFZ(B3)或者=SFZ(B3,XB) (3)选择C3:E3单元格,将公式向下填充,结果见图1.3所示。 图1.3 自定义函数法获取身份证信息 本例中的函数SFZ即身份证函数,用于从身份证号码中获取年龄、生日与性别等信息。它不属于Excel内置函数,需要利用VBA编写代码才可以使用。读者可以从随书光盘中获取该完整代码。 SFZ函数有两个参数,第一参数为单元格引用,第二参数为信息描述,即用于指定需要获取身份证中哪一部分信息。当它为“NL”(不区分大小写)时,获取年龄;当它为“SR”时,获取生日,当它为“XB”或者省略第二参数时,获取性别。 点评:相对于内置函数法/公式法,自定义函数法是借用VBA编写的外置函数完成,它的优势在于公式简短,且容易理解。任何不熟悉函数与VBA者皆可一分钟内学会操作并理解其公式含义。 1.1.3 插件法 插件法是指借用Excel插件操作工作表,该插件不隶属于当前工作簿,但却可以实现与当前工作簿交互的功能,批量、迅速完成身份证信息提取工作。 操作步骤如下: (1)关闭Excel程序的前提下,将随书光盘中的插件(位置:..\第一章\批量获取身份证信息.xlam)复制到以下自启动文件夹中即安装完成: C:\Program Files\Microsoft Office\Office12\XLSTART 注意:如果您的OFFICE没有装在C盘,那么上面的磁盘号需要根据实际情况做修改;如果您使用OFFICE 2003,则将其中“Office12”修改为“Office11”。 (2)打开光盘文件“提取身份证信息.xlsm”,进入“插件法”工作表; (3)选择单元格区域B3:B6,单击右键,从右键中选择【批量获取身份证信息】菜单,程序将弹出一个对话框“确定计算区域”。该对话框中默认显示当前选区地址,如果需要修改地址,可以输入新的地址,也可以用鼠标在工作表中选择身份证存放区域,该区域的地址会自动产生在对话框中。见图1.4所示; (4)单击“确定”按钮,程序在瞬间就会从选区的所有身份证中提取年龄、生日和性别等信息。 图1.4 插件法批量获取身份证信息 点评:插件法从身份证号码中获取信息的优点是速度快,通用性好。相对于内置函数法,它在操作上更简单,不需要任何函数知识,不需要输入长长的公式,只点几次鼠标即可;相对于自定义函数,它的优点是通用性好,在任何工作表、任何工作簿皆可使用本工具。而前一方法之自定义函数非插件方式存在,只能在当前工作簿中使用。 1.1.4 浅谈VBA优势 前面三个案例中我们可以看出,Excel具有强大的计算功能,但常规方式对于某些大型数据运算显得比较繁琐。用户需要学习复杂的函数知识,设置长长的公式才可以解决某些运算。而VBA可以使公式简化、易懂,甚至根本不需要公式,一个字母不用录入即可完成一些专业性较强的计算。 具体说来,相对于Excel自带的功能,VBA或者说VBA开发的插件具有以下优势: 批量地对操
显示全部
相似文档