【发布时间】:2016-06-25 14:36:54
【问题描述】:
我正在将一堆日期从自动生成的时间戳转换为 Excel 可以通过删除日期和时间之间的“-”来理解的格式。
使用
Sub dateFix()
Worksheets("INPUT CALC XL BASED").Range("B:B").Replace _
What:="-", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:=True
End Sub
它将返回大部分日期正确为 DD/MM/AAA,但有些会被任意更改为 MM/DD/AAA。
我注意到最小的数字(10 岁以下)容易混淆。
输入有点像
18/02/2016 - 12:54
10/02/2016 - 17:11
05/02/2016 - 13:13
01/02/2016 - 08:55
它会像这样转换
18/02/2016 12:54 (right)
10/02/2016 17:11 (right)
02/05/2016 13:13 (wrong)
02/01/2016 08:55 (wrong)
奇怪的是,使用 Excel 的内置替换,它是正确的。
【问题讨论】:
-
无法复制。刚刚复制了你的数据和代码,它工作得很好。好奇,您是美国用户还是其他国家/地区的用户?
-
您还会注意到“右”是文本而不是数字。它们将被左对齐,而“错误”的将被右对齐并且被数字掩蔽为数据/时间。它与本地设置有关。
-
它被正确地识别为时间戳,只是在某些日子交换了月份和日期。和@holtz:我来自另一个国家