Excel假设日期采用美国格式

时间:2013-04-13 20:01:37

标签: date excel-vba vba excel

我创建了一个复制列的宏,其中02/04/2013 12:35表示4月2日 然后我粘贴它并使用文本到列来摆脱时间部分。 Excel由于某种原因而不是将其解释为2月4日。尝试在文本的最后一步选择文本到列和日期,但在两种情况下都会翻转。

像28/03/2013一样无法翻转的日期仍然正确。

如果我不使用宏但手动执行此操作,Excel仅在将其作为发生的宏运行时才会翻转日期和月份。注意到它只发生在另一个宏中,只是将带有日期的单元格复制到另一个带有日期的单元格。

1 个答案:

答案 0 :(得分:0)

你可以尝试:

Sub Convert_Dates()

Dim Rng As Range
Set Rng = Selection

For Each c In Rng
    c.Value = DateSerial(Right(Split(c)(0), 4), Mid(Split(c)(0), 4, 2), Left(Split(c)(0), 2))
Next c

End Sub

它也可以帮助“文本日期”使用格式和“dd / mmm / yyyy”,因为这不会混淆。