vba中的日期格式

时间:2016-06-24 15:52:20

标签: excel-vba vba excel

我有VBA代码从.msg文件(outlook文件)中提取详细信息并在Excel工作表中更新。在反映日期栏时,它显示为" 2016年3月9日上午11:03:27"但我想只显示日期,而不是时间。

我使用了格式选项,即

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

但它显示日期a" 8/3/2016 00:00和#34;。我想只反映日期而不是别的。请引导我说明仅反映日期所需的所有更改。

1 个答案:

答案 0 :(得分: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