美文网首页
VBA-时间格式标准化

VBA-时间格式标准化

作者: Data_Python_VBA | 来源:发表于2019-04-27 20:21 被阅读0次

    微信公众号原文

    系统: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

    相关文章

      网友评论

          本文标题:VBA-时间格式标准化

          本文链接:https://www.haomeiwen.com/subject/etnknqtx.html