我使用宏记录仪记录了我需要将某些列格式为$并自动拟合列的宏。但是,当我尝试从VBE执行此宏时,没有格式化更改。该语法应该更改如何正确格式化我的数据?
Public Function Format()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws
Cells.Select
Cells.EntireColumn.AutoFit
Columns("D:M").Select
Selection.NumberFormat = "$#,##0"
Range("A1").Select
End With
Next
End Function
与斯科特·克兰纳(Scott Craner)的评论一样,您需要包括先例。但是,您可以通过删除使用块并使用工作表限定符
来缩短这一点代码Public Sub Format()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Cells.Columns("D:M").NumberFormat = "$#,##0"
ws.Cells.EntireColumn.AutoFit
ws.Activate
ws.Range("A1").Select
Next
End Sub