小编致力于为大家奉献最有效的经验,让大家能够解决掉问题,但是大家也都知道,每个人遇到的情况都是不一样的,大家在看小编经验的同时,除了跟随操作,也需要自己的思考,举一反三的解决问题,这样才会变得更加有内涵,成为和小编一样的经验达人。excel中使用vba来提取身份证中特定位数的方法,这里,让小编给大家介绍一下。

工具/原料
- excel2016
- 此经验本人原创首发,未经本人许可请勿转载。
方法/步骤
- 1
首先我们打开一个工作样表作为例子。
- 2
打开vba编辑窗口,按下alt+f11快捷组合键,或者是在开发者工具栏中点击vb按钮。
- 3
插入一个新的模块,并在模块中输入以下的代码:
Sub 提取身份证特定位数值()
sid = "123456789012345"
yid = "12345678901234678"
If Len(sid) = 17 Then
s = Right(sid, 1)
Else
s = Mid(yid, 17, 1)
End If
MsgBox "数字" + s
End Sub
- 4
可以看到我设定了两个变量,一个是15位数身份证,一个是18位数身份证。这里是固定的,如果需要输入可变量,大家可以使用inputbox函数来替换变量代码。
- 5
接下来我们对数字的提取条件做设定,right函数是从数值最右返回值,1为返回位数。mid函数是给出数值的指定位置,并提取给定位数,并返回该值。
- 6
我这里写的流程语句其实可以直接删除掉其中一句,你们可以试着思考一下为什么。我运行一下这个模块,大家看看结果。
- 7
如果我将代码改变成如下情况:
Sub 提取身份证特定位数值()
sid = "123456789012345"
yid = "12345678901234678"
If Len(yid) = 17 Then
s = Right(sid, 1)
Else
s = Mid(yid, 17, 1)
End If
MsgBox "数字" + s
End Sub
得到的结果就不一样了。
- 8
先写到这里了,谢谢大家的观看。
祝大家生活愉快。
小编还有许多其他的经验可以观看,如果无法解决问题可以联系小编进行咨询。
看不清楚图片的可以点击放大再看哦。
END
注意事项
- 个人经验,仅供参考。