|
楼主你的数据源确实种类繁多我在二楼老师的基础上小小地改动一下,没仔细查看,你看看还有什么问题,结果显示在E列中,并且在F列写了个和你的结果进行比对的函数,基本咱俩差不多,有个别错误我感觉我的结果应该没错
- Sub Macro2()
- Dim arr, i&
- arr = Range("a1").CurrentRegion
- For i = 1 To UBound(arr)
- If Len(arr(i, 1)) = 5 Then arr(i, 1) = Format(CDate(arr(i, 1)), "yyyy-mm-dd")
- If InStr(arr(i, 1), "-") Or InStr(arr(i, 1), "/") Then
- x = Split(arr(i, 1), IIf(InStr(arr(i, 1), "-"), "-", "/"))
- arr(i, 1) = Format(x(0), "0000") & Format(x(1), "00")
- ElseIf Len(arr(i, 1)) = 7 Then arr(i, 1) = Left(arr(i, 1), 4) & "0" & Mid(arr(i, 1), 5, 1)
- ElseIf Len(arr(i, 1)) > 6 Then arr(i, 1) = Left(arr(i, 1), 6)
- ElseIf Len(arr(i, 1)) < 6 Then arr(i, 1) = Left(arr(i, 1), 4) & Format(Mid(arr(i, 1), 5), "00")
- End If
- Next
- Columns("e:e").Clear
- Range("e1").Resize(UBound(arr)) = arr
- End Sub
复制代码 |
|