我试图将日期存储在一列中,然后将其与其他列中的日期进行比较。这个excel将由其系统上具有不同日期格式的不同用户使用。我试图将日期从yyyy-mm-dd格式化为yyyy / mm / dd,但无法实现。
Columns("AC:AC").Select
Selection.NumberFormat = "yyyy/mm/dd"
如何使其独立于系统?
答案 0 :(得分:1)
日期在Excel中存储为数字。打开工作簿时,将根据用户的区域设置显示日期。
要断开此区域自动格式化,一种方法是将日期存储为"字符串"或"文字"。
使用Range.NumberFormat = "@"
将范围格式化为文本。
然后您可以使用Range.Value = Format( <Date> , "yyyy/mm/dd")
将日期字符串放入具有所需格式的范围内。
如果范围尚未预先格式化为文本,并且输入了一个看起来像日期的字符串(例如&#34; 4/4/2016&#34;),Excel将假定其日期并将其转换到数字表示。如果范围被格式化为文本,Excel将忽略并假定任何输入为扁平字符串,甚至是数字。