Excel VBA - 格式化整个列,但不包括标题行

6

我想要对一列进行格式化,但要排除第一行,因为这是标题:

我的当前代码如下:

Sheets("Sheet1").Columns(3).NumberFormat = "#,##0"

谢谢。
4个回答

10

除非头部是数字,否则我认为您不需要这样做。 数字格式不会影响文本(至少不太明显)。 但是,这里有一种方法:

With ThisWorkbook.Sheets("Sheet1")
   .Columns(3).Resize(.Rows.Count - 1, 1).Offset(1, 0).NumberFormat = "#,##0"
End With

1

或者

Sheets("Sheet1").Range(cells(2,3), cells(2,3).end(xldown)).NumberFormat = "#,##0"

这将选择的不是整个列,而是从您的第一个到最后一个非空行的范围。但是,如果您在第一行和最后一行之间有空单元格,则这不是适当的解决方案。


0

尝试使用这段代码

Sheets("Sheet1").Range("Starting cell").Entirecolumn.NumberFormat = "#,##0"

0

或者在格式化列之后返回并重新格式化第一个单元格。这将避免空单元格的问题。

Dim dTab As Worksheet
Set dTab = ThisWorkbook.Sheets("Sheet1")

dTab.Columns(3).NumberFormat = "#,##0"
dTab.Range("C1").NumberFormat = "m/dd/yy" 'or whatever

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接