日期与vba中的系统日期无关

时间:2016-04-14 08:50:40

标签: vba excel-vba excel

我试图将日期存储在一列中,然后将其与其他列中的日期进行比较。这个excel将由其系统上具有不同日期格式的不同用户使用。我试图将日期从yyyy-mm-dd格式化为yyyy / mm / dd,但无法实现。

Columns("AC:AC").Select
Selection.NumberFormat = "yyyy/mm/dd"

如何使其独立于系统?

1 个答案:

答案 0 :(得分:1)

日期在Excel中存储为数字。打开工作簿时,将根据用户的区域设置显示日期。

要断开此区域自动格式化,一种方法是将日期存储为"字符串"或"文字"。

使用Range.NumberFormat = "@"将范围格式化为文本。

然后您可以使用Range.Value = Format( <Date> , "yyyy/mm/dd")将日期字符串放入具有所需格式的范围内。

如果范围尚未预先格式化为文本,并且输入了一个看起来像日期的字符串(例如&#34; 4/4/2016&#34;),Excel将假定其日期并将其转换到数字表示。如果范围被格式化为文本,Excel将忽略并假定任何输入为扁平字符串,甚至是数字。