2012-02-02 96 views
0

我试图将自定义日期格式更改为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多张工作表,所以很难手动运行每列的宏。 关于如何让这个工作的任何想法?

+1

如果您使用'ws'进行迭代,则应该使用它(如'ws.Columns')。 – 2012-02-02 03:20:20

+0

编辑为你建议,但我得到了“无效使用财产”错误 – user582485 2012-02-02 03:59:55

+0

'ws.Columns(“E:E”)。选择'在这里工作得很好。你在哪里得到“非法使用特性错误? – 2012-02-02 04:23:42

回答

1

这个工作对我来说:

Sub dateformat() 

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

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

+0

谢谢! 看来,选择也会减慢代码。你的建议显然要快得多 – user582485 2012-02-02 05:55:34

相关问题