更改工作簿所有工作表中列的日期格式
问题描述:
我试图将自定义日期格式更改为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
避免选择,这是不可靠的和不必要的。另外“工作表”应该有一个工作簿。
+0
谢谢! 看来,选择也会减慢代码。你的建议显然要快得多 – user582485 2012-02-02 05:55:34
如果您使用'ws'进行迭代,则应该使用它(如'ws.Columns')。 – 2012-02-02 03:20:20
编辑为你建议,但我得到了“无效使用财产”错误 – user582485 2012-02-02 03:59:55
'ws.Columns(“E:E”)。选择'在这里工作得很好。你在哪里得到“非法使用特性错误? – 2012-02-02 04:23:42