首页 > 其他分享 >Excel:vba实现身份信息填写

Excel:vba实现身份信息填写

时间:2024-10-08 23:22:42浏览次数:9  
标签:Dim vba Cells Excel Value birthDate currentDate 填写 age

 实现的效果是“点击一键填写性别和年龄”,表的呈现如下:

代码如下:

Sub 判断性别年龄()
    Dim idCard As String
    Dim birthDate As String
    Dim nian As Integer, yue As Integer, ri As Integer
    Dim currentDate As Date
    Dim age As Integer
    Dim gender As String
    
    ' lastrow = Cells(Rows.Count,1).End(xlUp).Row找出表的最后一行
    lastrow = ActiveSheet.UsedRange.Rows.Count 

    For i = 2 To lastrow:
         ' 身份证号所在单元格
         idCard = CStr(Cells(i, 3).Value)
    
        '提取出生日期(第7到14位),比如第七位到第14位是19681123,就是1968年11月23日
         birthDate = Mid(idCard, 7, 8)
        '从19681123左边开始找四个,即1968就是要找的年份
        nian = CInt(Left(birthDate, 4))
        '从19681123的第五位开始,找两个,即11就是要找的月份
         yue = CInt(Mid(birthDate, 5, 2))
        '从19681123的右边开始,找两个,即23就是要找的日
         ri = CInt(Right(birthDate, 2))
       
        ' 获取当前日期2024-10-8
        currentDate = Date
    
        ' 计算年龄2024-1968=58
        age = Year(currentDate) - nian
        '如果当前2024年的10月份小于生日的月份或者(等于生日的月份但是日期小于生日的日期)
        If Month(currentDate) < yue Or (Month(currentDate) = yue And Day(currentDate) < ri) Then
        age = age - 1  '说明还没过2024年的生日,所以58-1=57
        End If
    
        ' 判断性别(第17位,奇数为男性,偶数为女性)
        If CInt(Mid(idCard, 17, 1)) Mod 2 = 0 Then
            gender = "女"
            Cells(i, "d").Value = gender
            Cells(i, "e").Value = age
        Else
            gender = "男"
            Cells(i, "d").Value = gender
            Cells(i, "e").Value = age
        End If
    Next i
    ' 输出结果
End Sub

按钮的插入:

1.插入按钮控件

2.指定控件运行的宏

3.点击确定后,根据自己的需要给按钮命名

标签:Dim,vba,Cells,Excel,Value,birthDate,currentDate,填写,age
From: https://blog.csdn.net/m0_68120716/article/details/142771031

相关文章

  • 善用Excel,制作加班费统计表
    Hello,大家好。今天给大家分享由我制作的加班费统计表,该表由EXCEL完成,下面就和我一起来体验吧。填写节假日和加班时薪信息首先我们需要查询万年历,在下图的标记区域1中,将节假日及调休信息填写好。接着修改标记区域2,将基准填写为你所在城市的最低工资标准。平时指的是1.5倍......
  • POI导出excel文件加水印
    百分百能用,我用的POI版本是5.2.3,效果如下importlombok.extern.slf4j.Slf4j;importorg.apache.poi.openxml4j.opc.PackagePartName;importorg.apache.poi.openxml4j.opc.PackageRelationship;importorg.apache.poi.openxml4j.opc.TargetMode;importorg.apache.poi.xss......
  • 使用openpyxl读取Excel设置了公式的单元格 默认读取的是公式而不是公式结果
    使用openpyxl对单元格有公式的Excel的sheet进行操作,如果又读又写,可以采用双重读取方式解决。在Excel中,如果单元格的值是通过公式计算的,而你通过openpyxl库读取时发现获取的是公式而非结果,原因是openpyxl默认只读取单元格的公式而不计算公式的结果。为了获取公式计算后的......
  • Excel:vba实现根据输入的月份汇总数据的功能
    实现前的效果:实现后的效果:1.页面弹出想要汇总到的月份,就是指定月份的累计数2.输入月份之后开始进行汇总,汇总之后会弹出汇总成功的字样我输入1月份后,效果如下:代码如下:(可以删掉有关上面的b2单元格的几句话以及根据自己情况修改行和列,依然使用别的案例)Sub汇总数据()......
  • VBA日历进度
    hi,大家好!经过两次台风的洗礼之后,我们这里终于开始降温了,终于感觉到秋天的存在了!时间也在一天天的过去,马上要十一假期了,十一过了,就可以算着过年了,让今天就让我们来算算,离年底还剩余多少?(文章编辑时间为2024-09-23)那我们就来看看怎么做吧!01、创建窗体这里我们先来创建一个窗体,在窗体上......
  • winforms基本操作-将datagridview内容保存为excel文件
    这里记录一下将winforms展示的datagridview,导出或保存为excel文件。这里说一下环境、版本信息:win系统:win11框架:winforms依赖:Microsoft.Office.Interop.Excel.net:8.0.401.netframework:4.8DataGridView对象为dataGridView1,然后添加一个按钮,绑定事件btnConfirm即可。priva......
  • Python 高级技巧:深入解析读取 Excel 文件的多种方法
    一、引言 在数据分析和处理中,经常需要从Excel文件中读取数据。Python提供了多种库来实现这个功能,本文将深入探讨使用 ​​pandas​​、​​openpyxl​​ 和 ​​xlrd​​ 库读取Excel文件的高级技巧和代码实现。 二、使用pandas库读取Excel文件 ​​pandas......
  • WPS股票价格查询EXCEL表格
    第一步在表格内使用公式=GetStockSource(Stock_code)查询股票的即时交易信息,Stock_code表示股票代码;第二步通过公式从Source中提取所需要的数据,可以提取股票名称、价格、涨跌幅、收盘价格、成交额、成交量、换手率等。公式如下:GetStockSource(Stock_code),查询股票即时交易信息G......
  • excel江湖异闻录--华麒麟
    认识他应该是在18、19年左右,那时就感觉这也是个高手,同大部分的高手一样,痴迷函数,热衷创造、挑战不规范的数据。后来他消失了好长一段时间,群里的同学都以为他退圈了,偶有少数的同学想起他,言语都带着惋惜和遗憾,他时不时的会在群里冒个泡,不过都是换个气,又潜下去那种。记得有一天老大......
  • excel江湖异闻录--Klaus
    最开始接触数组公式,是偶然在公众号看到“看见星光”大佬的一个提取混合文本中电话号码的公式,记得当时大佬是用vlookup解的这题,当时完全不能理解,mid中第二参数为什么是个row,一遍遍拆公式,才明白大佬公式的奥妙。真没有想到,公式还可以这样写,“看见星光”大佬的这个公式,帮我打开了数......