2012-02-02 54 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

相關問題