我以
的格式获得了日期- 格式
的可能变体2018年12月17日
2018年1月17日
2018年12月1日
2018年1月2日
单元格格式为GENERAL
结果:我希望它将其转换为以下格式,并将单元转换为DATE格式
17-12-2018
17-1-2018
2018年1月12日
2018年2月1日
感谢您的回应。
sub ggf()
Dim retval, BN As String ' This is the return string. '
Dim i As Integer
Dim myStr, BB As String
AY = Cells(4, 4).Value
BB = AY
retval = ""
For i = 1 To Len(BB)
If Mid(BB, i, 1) >= "0" And Mid(BB, i, 1) <= "9" Then
retval = retval + Mid(BB, i, 1)
End If
Next i
If Len(retval) = 8 Then
BX = Left(retval, 4)
BY = Right(retval, 2)
BZ = Mid(retval, 5, 2)
BN = BY.BZ.BX
MsgBox BN
Else
End If
Cells(4, 10).Value = BN
End Sub
我在这里尝试将日期格式转换为字符串并删除
非数字字符并相应地将其反转并稍后添加分隔符。
但如果字符的长度发生变化,则定义无效且
我觉得这不是正确的做法。我也没有添加分隔符。
答案 0 :(得分:0)
使用format关键字将其更改为您需要的日期格式
Sub ggf()
Dim retval, BN As String ' This is the return string.
' Dim i As Integer
Dim myStrBB As String
AY = Cells(4, 4).Value
BB = AY
rs = Format(BB, "DD-MM-YYYY")
Cells(4, 5).Value = rs
'Debug.Print rs
MsgBox rs
End sub
答案 1 :(得分:0)