VBA-时间格式标准化

微信公众号原文

系统:Windows 7
软件:Excel 2010

  • 今天讲讲如何将时间信息转化为统一的输出格式

效果图
4.png

Part 1:示例

  1. 如上图所示,A列的时间信息,统一转化为标准格式yyyy-mm-dd hh:mm:ss
  2. 注意到第5行和第6行,系统对识别的效果是不一样的,默认第1位是月,当系统判断第1位明显不是月的时候,取第2位为月信息

Part 2:代码

Sub 转换()
    Set sht = ThisWorkbook.Worksheets("示例")
    maxRow = sht.Cells(Rows.Count, "A").End(xlUp).Row
    
    For i = 2 To maxRow Step 1
        old_version = sht.Cells(i, "A")
        new_version = Format(old_version, "yyyy-mm-dd hh:mm:ss")
        sht.Cells(i, "B") = new_version
        sht.Cells(i, "B").NumberFormatLocal = "yyyy-mm-dd hh:mm:ss"
    Next i
    
End Sub

代码截图
7.png

Part 3:输出结果说明

  1. 代码中有两个关键信息,一是将信息转化为标准格式,另一个是修改显示格式
  2. 以下两种方式中,在编辑栏显示的信息是一样的,但展示的效果是不一样的
  3. 代码中变量new_version数据类型是字符串,并不是时间格式,所示只是看起来像而已,本质上数据类型还是字符串

取消NumberFormatLocal那一行
2.png

增加NumberFormatLocal那一行
3.png

数据类型说明
5.png

Part 4:部分代码解读

  1. Format是用来转换格式的,sht.Cells(i, "B").NumberFormatLocal是用来修改单元格显示方式的

  • 如需文中高清并可以无限放大路径图,可以文后留言留下邮箱,小编会发过去
  • 本文为原创作品,如需转载,可加小编微信号learningBin

更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值