String 在for Each循环中将VBA中的字符串转换为日期

String 在for Each循环中将VBA中的字符串转换为日期,string,excel,vba,date,String,Excel,Vba,Date,我有一个列,其日期为字符串,如2015年6月15日,但类型为字符串,在同一列中,我有真实的日期类型,我的问题是,当运行代码时,erro“no matches variables”这是我的代码 Sub arrumadata3() Application.ScreenUpdating = False Sheets("Plan1").Activate For Each MyCell In Range("F:F") MyCell.Value = CDate

我有一个列,其日期为字符串,如2015年6月15日,但类型为字符串,在同一列中,我有真实的日期类型,我的问题是,当运行代码时,erro“no matches variables”这是我的代码

Sub arrumadata3()

    Application.ScreenUpdating = False

    Sheets("Plan1").Activate

    For Each MyCell In Range("F:F")

        MyCell.Value = CDate("MyCell.Value")


Next MyCell


End Sub
如果单元格的值是date,我甚至不尝试,我只是尝试转换每个单元格,即使它是空的

对一些英语错误表示抱歉,英语不是我的第一语言。

试试这个:

MyCell.Value=Format(MyCell.Value,“mm-dd,yyyyy”)

您非常接近:

Sub arrumadata3()
    Dim MyCell As Range
    Application.ScreenUpdating = False
        Sheets("Plan1").Activate
        For Each MyCell In Intersect(ActiveSheet.UsedRange, Range("F:F"))
            MyCell.Value = CDate(MyCell.Value)
        Next MyCell
    Application.ScreenUpdating = True
End Sub

此解决方案仍会转到行MyCell.Value=CDate(MyCell.Value)@AlexandreGentil中的错误“执行时间错误13:无匹配类型”,并使用数据图片更新您的帖子,我们将解决此问题。