2016-06-24 177 views
-1

我有VBA代码,它从.msg文件(outlook文件)中提取详细信息并在Excel表格中进行更新。虽然反映了日期栏,它显示为“2016年3月9日11时03分27秒”,但我只想显示日期而不是时间。vba中的日期格式

我使用的格式选项即

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

但它示出了日期“2016年8月3日00:00”。我只想反映日期,没有别的。请指导我所需的所有更改以反映日期。

+0

您的代码有效轮的日期/时间数据下降,但不会对**的显示格式任何影响**。试试这个:'Sheet2.Cells(Row + 1,23).NumberFormat =“dd/MM/yyyy”' – xidgel

回答

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