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

工具/原料

  • excel2016
  • 此经验本人原创首发,未经本人许可请勿转载。

方法/步骤

  1. 1

    首先我们打开一个工作样表作为例子。

  2. 2

    打开vba编辑窗口,按下alt+f11快捷组合键,或者是在开发者工具栏中点击vb按钮。

  3. 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. 4

    可以看到我设定了两个变量,一个是15位数身份证,一个是18位数身份证。这里是固定的,如果需要输入可变量,大家可以使用inputbox函数来替换变量代码。

  5. 5

    接下来我们对数字的提取条件做设定,right函数是从数值最右返回值,1为返回位数。mid函数是给出数值的指定位置,并提取给定位数,并返回该值。

  6. 6

    我这里写的流程语句其实可以直接删除掉其中一句,你们可以试着思考一下为什么。我运行一下这个模块,大家看看结果。

  7. 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. 8

    先写到这里了,谢谢大家的观看。

    祝大家生活愉快。

    小编还有许多其他的经验可以观看,如果无法解决问题可以联系小编进行咨询。

    看不清楚图片的可以点击放大再看哦。

    END

注意事项

  • 个人经验,仅供参考。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。