我可以使用VBA将date格式从20140129更改为01/29/2014吗?

我只是想弄清楚在一个巨大的电子表格上更改date格式的最简单的方法,但最大的问题似乎是年和月/日交替。 我需要它是mm / dd / yyyy,但是目前它是yyyymmdd。 谢谢你的帮助。

我可以使用VBA将date格式从20140129更改为01/29/2014吗?

你的意思是这样?

Sub Test() Dim temp As String Dim D As String, M As String, Y As String temp = "20140129" Y = Left(temp, 4) M = Mid(temp, 5, 2) D = Right(temp, 2) '~~> This will give you 01/29/2014 Debug.Print Format(DateSerial(Val(Y), Val(M), Val(D)), "mm/dd/yyyy") End Sub 

编辑

从评论后续。

使用此代码(TRIED AND TESTED)。 我假设date(作为string)存储在A1中从列A1 Sheet1

 Sub Test() Dim temp As String Dim D As String, M As String, Y As String Dim ws As Worksheet Dim lRow As Long, i As Long '~~> Change this to the relevant worksheet Set ws = ThisWorkbook.Sheets("Sheet2") With ws lRow = .Range("A" & .Rows.Count).End(xlUp).Row For i = 1 To lRow temp = CStr(.Range("A" & i).Value) Y = Left(temp, 4) M = Mid(temp, 5, 2) D = Right(temp, 2) .Range("A" & i).NumberFormat = "mm/dd/yyyy" '~~> This will give you 01/29/2014 .Range("A" & i).Formula = Format(DateSerial(Val(Y), Val(M), Val(D)), "mm/dd/yyyy") Next i End With End Sub 

截图

在这里输入图像说明