将列格式化为工作簿中每个工作表的日期(excel)

时间:2014-11-10 17:13:01

标签: excel vba

我试图获取一个excel列,该列目前已格式化为常规列,以使用vba显示为日期。我在这里看到了几篇关于此的帖子,并尝试了几种不同的方法,但我尝试的所有内容都返回错误说"无法设置Range类的NumberFormat"。这是我目前的代码:

For i = 2 To 13
        Sheets(i).Select
        Columns(14).NumberFormat = "mm/dd/yyyy" //This line seems to be causing issues
        ActiveWindow.Zoom = 65
        Range("A1:Q1").Select
    Next

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

使用它:

'Columns("N:N").NumberFormat = "mm/dd/yyyy"

For i = 2 To 13
        Sheets(i).Select
        Columns("N:N").NumberFormat = "mm/dd/yyyy"
        ActiveWindow.Zoom = 65
        Range("A1:Q1").Select
Next

答案 1 :(得分:0)

ZAT的答案将解决您的错误但请求上帝不要使用Select为您自己。

  • 通过强制屏幕更新来减慢宏的速度。
  • 这不明确。

遵循此模式将改善您的代码。

For i = 2 To 13
   With Worksheets(i)
      .Columns("N:N").NumberFormat = "mm/dd/yyyy"
      ' etc
   End With
Next i

此外,Worksheets不包括图表。