一键快速整理不规范的日期格式为yyyy-mm-dd格式

现在网上有很多多人协作平台,多人同时编辑电子表格文档,在输入日期时,可能在同一列如A列中出现各种各样的格式,如:
20231104
2023.11.04
2023.11.4
23.11.4
23.11.04
23.10.4
23.11-4
23'11.4
23.11.10.
2023/11/4
2023/11/04
23.11-4
2023-11.4
1.20.
...
可以将相关日期列复制到excel新表的A列并选中,按Alt+F11,添加如下新模块:

Sub 修改日期格式()
Dim Rng As Range
Set Rng = ActiveSheet.UsedRange

' 将.替换为-
    Columns("A:A").Select
    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
'如单元格最后一个字符为连字符,删除
    Columns("A:A").Select
    For Each cell In Rng
        If Right(cell.Value, 1) = "-" Then
            cell.Value = Left(cell.Value, Len(cell.Value) - 1)
        End If
    Next cell

Rng.NumberFormat = "yyyy-mm-dd"
Rng.ColumnWidth = 11.5
'将要替换的内容复制到新表格中的A列,并选中A列再执行。将A1替代为活动单元格第一个名称
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 5), TrailingMinusNumbers:=True
Windows("Excel加载宏.xlsm").Activate
Application.DisplayAlerts = False '不保存退出活动Excel
ActiveWindow.Close
End Sub

在宏列表,或在自定义功能区添加相应的宏,即可一键搞定。
最后将调整好的A列复制到原有表格覆盖原数据即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容