资源描述:
《excelvba 从学习入门到精通必备》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、
2、为入门篇:VBA优势、功能与概念第一章从Excel插件认识VBA简单的说,ExcelVBA是依附于Excel程序的一种自动化语言,它可以使常用的程序自动化,类似于DOS(磁盘操作系统)中的批处理文件(后缀名“.bat”)。那么它有什么具体的功能?在工作中与常规操作方式相比,具有哪些优势?笔者试图通过一个简单却实用的插件来展现。本章要点:l从身份证号获取个人信息l在工作中如何发挥Excel插件的优势1.1从身份证号获取个人信息制作人事资料时,通常需要录入职员身份证号码,以及生日、年龄、性别等等。除身份证号码需要手工逐一录入以外,其它三项信
3、息的录入有四种方法:手工录入、内置公式、自定义函数法、插件法。手工输入方式效率极差,且出错机率也最高,本节通过后三种方式来实现并比较,从而让读者对VBA之优势与用法得以初步认知。1.1.1 常规公式法以图1.1数据为例,利用公式从身份证中提取生日、年龄、性别等信息,可以有多种方法。本例列举其中之一。图1.1根据身份证号提取职工年龄、生日与性别通过公式计算职工的年龄、出生日期与性别,步骤如下:(1)在单元格C3输入以下公式,用于计算年龄:=DATEDIF(DATE(MID(B3,7,4-(LEN(B3)=15)*2),MID(B3,11-(
4、LEN(B3)=15)*2,2),MID(B3,13-(LEN(B3)=15)*2,2)),NOW(),"Y")(2)在单元格D3输入以下公式,用于计算出生日期:
5、=TEXT(RIGHT(19&MID(B3,7,LEN(B3)/2-1),8),"#年##月##日")(3)在单元格E3输入以下公式,用于计算性别:=IF(ISODD(MID(B3,15,3)),"男","女")注意:在Excel2003中,ISODD函数默认状态下无法使用,需要加载“分析工具库”才可以正常使用,为了使公式通用,通常改用MOD函数。即公式改为:=IF(MOD(M
6、ID(B3,15,3),2),"男","女")(4)选择C3:E3区域,将公式向下填充即完成身份证信息提取。效果如下:图1.2公式法获取身份证信息点评:相对于手工输入法,利用公式从身份证号码获取个人信息有着效率更高、错误率更低之优点,人员越多时越能体现出其高效优势。本例文件参见光盘:..第一章提取身份证信息.xlsm1.1.2自定义函数法自定义函数是指利用VBA编写的外置函数。在本例的随书光盘中已经录入了相关的VBA代码,可以随时调用。对于代码的含义和录入方式在后面的章节后有详细介绍,本章仅通过具体应用了解其用法与优势。具体操作步骤如
7、下:(1)进入“自定义函数法”工作表;(2)在C3:E3区域分别输入以下三个公式,用于计算年龄、出生日期和性别:=SFZ(B3,"NL")=SFZ(B3,"SR")=SFZ(B3)或者=SFZ(B3,"XB")(3)选择C3:E3单元格,将公式向下填充,结果见图1.3所示。
8、图1.3自定义函数法获取身份证信息本例中的函数SFZ即身份证函数,用于从身份证号码中获取年龄、生日与性别等信息。它不属于Excel内置函数,需要利用VBA编写代码才可以使用。读者可以从随书光盘中获取该完整代码。SFZ函数有两个参数,第一参数为单元格引用,第二参数为信息
9、描述,即用于指定需要获取身份证中哪一部分信息。当它为“NL”(不区分大小写)时,获取年龄;当它为“SR”时,获取生日,当它为“XB”或者省略第二参数时,获取性别。点评:相对于内置函数法/公式法,自定义函数法是借用VBA编写的外置函数完成,它的优势在于公式简短,且容易理解。任何不熟悉函数与VBA者皆可一分钟内学会操作并理解其公式含义。1.1.3插件法插件法是指借用Excel插件操作工作表,该插件不隶属于当前工作簿,但却可以实现与当前工作簿交互的功能,批量、迅速完成身份证信息提取工作。操作步骤如下:(1)关闭Excel程序的前提下,将随书光盘
10、中的插件(位置:..第一章批量获取身份证信息.xlam)复制到以下自启动文件夹中即安装完成:C:ProgramFilesMicrosoftOfficeOffice12XLSTART注意:如果您的OFFICE没有装在C盘,那么上面的磁盘号需要根据实际情况做修改;如果您使用OFFICE2003,则将其中“Office12”修改为“Office11”。(2)打开光盘文件“提取身份证信息.xlsm”,进入“插件法”工作表;(3)选择单元格区域B3:B6,单击右键,从右键中选择【批量获取身份证信息】菜单,程序将弹出一个对话框“确定计算区
11、域”。该对话框中默认显示当前选区地址,如果需要修改地址,可以输入新的地址,也可以用鼠标在工作表中选择身份证存放区域,该区域的地址会自动产生在对话框中。见图1.4所示;(4)单击“确定”按钮,程