希望您一切都好,能否请您提及我该如何转换
10.28.2014 16:00:00
进入
10/28/2014 4:00 PM.
我想转换整个列。此外,如果您能提到VBA代码,那将有很多帮助。
提到的excel文件是通过从客户导入csv文件创建的。我的国家是沙特阿拉伯,它具有不同的DateTime格式d/m/y
,我还需要将已处理的Excel文件导入Access数据库。
谢谢
这是VBA中的代码段,可将阿塞拜疆日期格式转换m.d.y
为ar-SA日期格式d/m/y
。运行FixDates
带有参数“ A”的应将文本转换为A列中所有单元格m.d.yy hh:mm:ss
的日期值d/m/yyyy hh:mm:ss
。它使用VBScript类中的RegExp。
Option Explicit
Sub ConvertDates()
Call FixDates("A")
End Sub
Sub FixDates(column As String)
Dim cell As Range
Dim lastRow As Long
lastRow = Range(column & Rows.Count).End(xlUp).Row
For Each cell In Range(column & "1:" & column & lastRow)
If InStr(cell.Value, ".") <> 0 Then
cell.Value = DateValue(RegexReplace(cell.Value, _
"(\d{1,2})\.(\d{1,2})\.(\d{2,4})", "$2/$1/$3"))
End If
cell.NumberFormat = "d/m/yyyy h:mm AM/PM"
Next
End Sub
Function RegexReplace(ByVal text As String, _
ByVal replace_what As String, _
ByVal replace_with As String) As String
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
RE.Pattern = replace_what
RE.Global = True
RegexReplace = RE.Replace(text, replace_with)
End Function
如果您需要其他格式,只需更改一行,如下所示:
cell.NumberFormat = "d/m/yyyy h AM/PM"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句