【发布时间】:2017-06-30 11:12:43
【问题描述】:
简单的任务,结果令人困惑。
我正在使用以下方法复制一系列数据:
WS.Range("A2:Z" & lRow).Copy
ThisWorkbook.Worksheets("Import").Range("A2:Z" & lRow).PasteSpecial xlPasteValues
复制表的第一列是格式为12/05/2017 01:00:00 的日期(注意日期和时间之间的双空格)
在一个例子中,日期值被很好地粘贴并作为日期出来 - 太棒了!
在另一个例子中,日期值被粘贴,但显示为14/05/2017 01:00,这些没有注册为日期,而是作为文本字符串。
我注意到我可以逐个单元格地浏览日期,然后按 Enter 键将它们转换为日期,所以我尝试使用 .range("A1:A100").value = .range("A1:A100").value 无济于事。
我怀疑它可能与日-月-年格式有关,而不是月-日-年(因为它适用于从 5 月 12 日开始但不在 5 月 14 日开始的工作表)但是( 1) 是否还有其他区别,(2) 为什么按 ENTER 可以正常工作以及 (3) 我如何在整个单元格范围内模拟按 ENTER (记住 .value = .value 不起作用)
【问题讨论】:
-
出于好奇,您的 PC 上的短/长日期区域设置是什么?
-
短日期设置为 dd/MM/yyyy,长日期设置为 dd MMMM yyyy