Excel 更改工作簿所有工作表中列的日期格式

Excel 更改工作簿所有工作表中列的日期格式,excel,vba,Excel,Vba,我正在尝试将自定义日期格式更改为dd/mm/yyyy。 下面的代码适用于当前工作表,但不适用于所有工作表 Sub dateformat() Dim ws As Worksheet For Each ws In Worksheets Columns("E:E").Select Selection.NumberFormat = "dd/mm/yyyy;@" 'MsgBox ws.Name Next ws End Sub 很

我正在尝试将自定义日期格式更改为dd/mm/yyyy。 下面的代码适用于当前工作表,但不适用于所有工作表

Sub dateformat()

    Dim ws As Worksheet

   For Each ws In Worksheets
        Columns("E:E").Select
        Selection.NumberFormat = "dd/mm/yyyy;@"
        'MsgBox ws.Name
    Next ws

End Sub
很难手动运行每列的宏,因为工作簿有100多张工作表。 有什么想法可以让它工作吗?

这对我来说很有用:

Sub dateformat()

Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        ws.Columns("E:E").NumberFormat = "dd/mm/yyyy;@"
    Next ws
End Sub

避免选择,这是不可靠和不必要的。另外,“工作表”应该有一个工作簿。

如果您使用
ws
进行迭代,您可能应该使用它(如
ws.Columns
)。按照您的建议进行编辑,但我收到了一个“属性的无效使用”错误
ws.Columns(“E:E”)。在这里选择
就可以了。您从哪里得到“property error的无效使用?我得到一个“运行时错误'1004'”:range类的select方法失败”<代码>ws.Columns(“E:E”)。选择
谢谢!似乎select也会减慢代码的速度。根据你的建议,速度明显快得多