【问题标题】:Date format in vbavba中的日期格式
【发布时间】:2016-10-27 07:27:30
【问题描述】:

我有 VBA 代码,它从 .msg 文件(outlook 文件)中提取详细信息并在 excel 表中更新。在反映日期列时,它显示为“3/9/2016 11:03:27 AM”,但我只想显示日期而不是时间。

我使用了格式选项,即

Sheet2.Cells(Row + 1, 23) = VBA.Format(sentDate, "dd/MM/yyyy")

但它显示的日期为“8/3/2016 00:00”。我只想反映日期而不是其他任何东西。请指导我了解仅反映日期所需的所有更改。

【问题讨论】:

  • 您的代码有效地将日期/时间数据向下舍入,但对显示格式没有任何影响。试试这个:Sheet2.Cells(Row + 1, 23).NumberFormat = "dd/MM/yyyy"

标签: excel vba


【解决方案1】:

试试这个:

Sheet2.Cells(Row + 1, 23).Value = sentDate
Sheet2.Cells(Row + 1, 23).NumberFormat = "mm/dd/yyyy;@"

然而,我有一种感觉,单元格实际上并没有包含日期​​,而只是包含文本。所以,也请先尝试将.NumberFormat改成如下:

Sheet2.Cells(Row + 1, 23).NumberFormat = "General"

如果日期现在全部显示为数字,那么这些是实际日期,第一个提案应该有效。如果不是,那么这些还不是日期,您必须先将文本(看起来像日期)转换为日期。

有关更多信息,您可能需要阅读以下内容:Difference between date and time w/out work week Excel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-28
    • 2023-03-20
    • 2013-11-17
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多