乐于分享
好东西不私藏

【跟我学Excel VBA】第四课:1秒完成10000份身份证信息的提取

本文最后更新于2026-03-15,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

【跟我学Excel VBA】第四课:1秒完成10000份身份证信息的提取

提取身份证信息,我们从IIF说起。

呐呢! IIF? 国际金融协会么?

呵呵,你想多了。

我们先看一个在工作表提取身份证中人员性别的函数公式:

函数释义:

MID:从指定位置截取一定位数的字符串,在此是指从身份证证的15位开始,截取3位有效数字(如果是旧身份证号,只提取1位),以第一个身份证号码为例,提取的即是439

MOD:求余函数,即求得439除以2的余数,此时结果为1

IF:条件判断函数,但结果为真时,显示第一个结果,否则显示第二个结果;同时,在工作表中使用IF判断时,非0即为正确,所以省略了=1这个条件。

那么这段函数又有什么意义呢,请看以下代码:

从这可以看出,在Excel工作表中用的一些函数,同样适用于VBA。比如MidMod。只不过Mod的用法,和工作表函数稍微有点差别而已。

另外,在VBA中的IIF函数,用法和工作表函数IF差不多。

现在知道我为什么要秀这么一段工作表函数了吧。。。。

不是说,提取身份证的信息么,难道身份证里面只有性别??

答案是否定的!!

为了方便各位学习代码,下面这段代码将全部注释。

以下是结果:

从上例,我们必须掌握以下几点:

1、定位工作表有效行数的方法之一:调用Ctrl+ ↑组合键;在定位最后一行的时候,一定要找单列在最后一行有数据的列,不要找那些经常有空单元格的列,切记;

2、断行:当一段代码过长时,我们可以在代码的中间按空格加下划线并回车的方式,将长代码断成几行;

3、注释:要习惯对关键性代码进行注释,以免后期维护的时候,难以读懂;注释我们一般是以单引号开头,可以写在空行,也可以写在代码的尾部;注意,代码的前面添加单引号的话,此代码将无法执行!!

一天学一点,一天进步一点!!

学习VBA,重要的是不停地敲打代码,光看是学不好的哟。那还等什么呢,赶快行动吧!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【跟我学Excel VBA】第四课:1秒完成10000份身份证信息的提取

猜你喜欢

  • 暂无文章