预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共509页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ExcelVBA程序开发自学通TIME\@"yyyy-M-d"\*MERGEFORMAT2024-9-5 第页/共NUMPAGES509页 为入门篇:VBA优势、功能与概念 从Excel插件认识VBA 简单的说,ExcelVBA是依附于Excel程序的一种自动化语言,它可以使常用的程序自动化,类似于DOS(磁盘操作系统)中的批处理文件(后缀名“.bat”)。那么它有什么具体的功能?在工作中与常规操作方式相比,具有哪些优势?笔者试图通过一个简单却实用的插件来展现。 本章要点: 从身份证号获取个人信息 在工作中如何发挥Excel插件的优势 1.1从身份证号获取个人信息 制作人事资料时,通常需要录入职员身份证号码,以及生日、年龄、性别等等。除身份证号码需要手工逐一录入以外,其它三项信息的录入有四种方法:手工录入、内置公式、自定义函数法、插件法。手工输入方式效率极差,且出错机率也最高,本节通过后三种方式来实现并比较,从而让读者对VBA之优势与用法得以初步认知。 1.1.1常规公式法 以图1.1数据为例,利用公式从身份证中提取生日、年龄、性别等信息,可以有多种方法。本例列举其中之一。 图1.1根据身份证号提取职工年龄、生日与性别 通过公式计算职工的年龄、出生日期与性别,步骤如下: (1)在单元格C3输入以下公式,用于计算年龄: =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(19&MID(B3,7,LEN(B3)/2-1),8),"#年##月##日") (3)在单元格E3输入以下公式,用于计算性别: =IF(ISODD(MID(B3,15,3)),"男","女") 注意:在Excel2003中,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:\ProgramFiles\MicrosoftOffice\Office12\XLSTART 注意:如果您的OFFICE没有装在C盘,那么上面的磁盘号需要根据实际情况做修改;如果您使用OFFICE2003,则将其中“Office12”修改为“Office11”。 (2)打开光盘文件“提取身份证信息.xlsm”,进入“插件法”工作表; (3)选择单元格区域B3:B6,单击右键,从右键中选