当前位置:首页Excel教程 > 正文

在一个单元格中输入完身份证后,在另外一个单元格种自动输出性别VBA自动获取身份证的性别

作者:野牛程序员:2023-11-07 11:54:46Excel教程阅读 2538

在一个单元格中输入完身份证后,在另外一个单元格种自动输出性别。可以使用Excel的事件处理程序。具体来说,可以使用Excel的Worksheet_Change事件来监测A列中的输入并自动在B列中输出性别。请按照以下步骤进行操作:

  1. 在Excel中,按下Alt + F11 打开VBA编辑器。

  2. 在VBA编辑器中,展开您的工作簿,然后双击"Sheet1"(或者要在其上实现此功能的工作表)。

  3. 在工作表的代码窗口中,输入以下VBA代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ACell As Range
    Dim BCell As Range
    Dim Gender As String
    
    Set ACell = Me.Range("A1:A" & Me.Cells(Me.Rows.Count, "A").End(xlUp).Row)
    Set BCell = Me.Range("B1:B" & Me.Cells(Me.Rows.Count, "A").End(xlUp).Row)
    
    If Not Intersect(Target, ACell) Is Nothing Then
        If Len(Target.Value) = 18 And IsNumeric(Target.Value) Then
            If Mid(Target.Value, 17, 1) Mod 2 = 1 Then
                Gender = "男"
            Else
                Gender = "女"
            End If
            BCell.Cells(Target.Row, 1).Value = Gender
        Else
            BCell.Cells(Target.Row, 1).Value = ""
        End If
    End If
End Sub
  1. 保存VBA项目并关闭VBA编辑器。

现在,当在A列中输入18位的身份证号后,B列中将自动输出性别。如果A列中没有18位字符或包含非数字字符,B列将保持为空。

请注意,这是通过VBA代码实现的,它会自动在目标列中触发性别的输出。如果不想使用VBA,Excel的常规功能将无法在一个单元格中输入身份证后自动输出性别。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击