Vba 需要在字段中单击才能运行的Excel宏

Vba 需要在字段中单击才能运行的Excel宏,vba,excel,Vba,Excel,我有一个非常简单的宏将文本日期转换为excel中的实际日期字段 Sub Macro2() ' ' Macro2 Macro ' fixdates ' ' Range("AM2:AM5,AJ2:AK5").Select Range("AJ2").Activate Selection.NumberFormat = "mm/dd/yy;@" Range("AJ4").Select End Sub 但每当我运行它时,我必须实际点击每个单元格,以便它正确转换 这里缺少什

我有一个非常简单的宏将文本日期转换为excel中的实际日期字段

Sub Macro2()
'
' Macro2 Macro
' fixdates
'

'
    Range("AM2:AM5,AJ2:AK5").Select
    Range("AJ2").Activate
    Selection.NumberFormat = "mm/dd/yy;@"
    Range("AJ4").Select
End Sub
但每当我运行它时,我必须实际点击每个单元格,以便它正确转换


这里缺少什么?

您可以更改子程序,将值设置为值。这将强制将看起来像日期的文本字符串转换为实际日期:

Sub Macro2()
    With Range("AM2:AM5,AJ2:AK5")
        .NumberFormat = "mm/dd/yy;@"
        .Value = .Value
    End With
End Sub

您需要
TextToColumns
,这样它就不再是文本了。如果数据是文本,则不能使用
NumberFormat