我想知道如何转换日期" 17/03/10"到" 10/03/17"。
17年是,03是月,10是日。我可以获得一个VBA代码,以便在Excel中使用吗?
答案 0 :(得分:1)
我假设您使用了引号,这些字符串表示您要转换的日期,而不是日期值。
因此,试试这个:
strOldDate = "17/03/10"
strNewDate = Mid$(strOldDate, 7, 2) & "/" & _
Mid$(strOldDate, 4, 2) & "/" & _
Mid$(strOldDate, 1, 2)
MsgBox strNewDate 'Outputs "10/03/17"
答案 1 :(得分:0)
尝试以下内容,我已将其放入函数中,以便您可以更轻松地将其包含在代码中(甚至在公式中使用它)
'// The actual function
Function ReformatDate(WeirdDate As String) As Date
ReformatDate = Right(WeirdDate, 2) _
& Mid(WeirdDate, 3, 4) _
& Left(WeirdDate, 2)
End Function
'// Testing with whatever is selected
Sub TestFixSelection()
For Each Cell In Selection
Cell.Value = ReformatDate(Cell.Value)
Next
End Sub
'// Testing over a fixed range
Sub TestFixFixedRange()
For Each Cell In [A1:A10]
Cell.Value = ReformatDate(Cell.Value)
Next
End Sub
请注意,这会更正字符串并将其转换为日期,而不是日期的字符串表示形式。不要害怕Excel日期,他们是你的朋友。