繁体   English   中英

从 Excel VBA 中的日期和时间数据中删除时间

[英]Delete time from Date&Time Data in Excel VBA

image_1

如图 1 所示,我有一列随时间而来的原始日期数据。 我想摆脱它,让它只显示日期(如图 2 所示)

image_2 .

我可以通过代码columns("A").numberformat="mm/dd/yyyy"简单地实现这一点。 但是,我发现这并没有真正摆脱时间,而是简单地隐藏它。 我正在寻找一些 VBA 代码,它们不仅在视觉上而且实际上消除了时间。 预期的结果应该就像 image_2,但是当我单击任何单元格并在公式栏中时,也没有显示时间。

感谢您对此的任何想法。

使用INT的一种选择:

Sheet1.Range("A2:A19").Value = Sheet1.Evaluate("=INT(A2:A19)")

或循环:

Sub Test()
    Dim i As Long
    For i = 2 To 19
        With Sheet1.Range("A" & i)
            If IsDate(.Value) Then
                .Value = Int(.Value)
                .NumberFormat = "mm/dd/yyyy"
            End If
        End With
    Next
End Sub

编辑:可能值得找到最后一行:

With Sheet1
    Dim lastRow As Long
    lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row

    .Range("A2:A" & lastRow).Value = .Evaluate("=INT(A2:A" & lastRow & ")")
    .Range("A2:A" & lastRow).NumberFormat = "mm/dd/yyyy"
End With

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM