【问题标题】:change the date format of a column in all sheets of a workbook更改工作簿所有工作表中列的日期格式
【发布时间】:2012-02-02 13:47:36
【问题描述】:

我正在尝试将自定义日期格式更改为 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 多张工作表,因此很难手动运行每列的宏。 关于如何让它发挥作用的任何想法?

【问题讨论】:

  • 如果您使用ws 进行迭代,您可能应该使用它(如ws.Columns)。
  • 按照您的建议进行了编辑,但出现“无效使用属性”错误
  • ws.Columns("E:E").Select 在这里工作得很好。你从哪里得到“无效使用属性错误?
  • 我得到一个“运行时错误'1004'”:范围类的选择方法失败。ws.Columns("E:E").Select

标签: excel vba


【解决方案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

避免选择,它不可靠且不必要。 “工作表”也应该有一个工作簿。

【讨论】:

  • 谢谢!似乎 select 也会减慢代码的速度。有了你的建议,它明显快了很多
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多