我正在使用以下代码:
Private Sub FormatAsNumbers()
Dim rRngs As Range
LastRow = Worksheets("Table").Range("C4").End(xlDown).Row
Range("C4:" & "C" & LastRow).Select
Selection.NumberFormat = "#,##0"
Range("e4:" & "e" & LastRow).Select
Selection.NumberFormat = "#,##0"
Range("g4:" & "g" & LastRow).Select
Selection.NumberFormat = "#,##0"
Range("I4:" & "I" & LastRow).Select
Selection.NumberFormat = "#,##0"
Range("K4:" & "K" & LastRow).Select
Selection.NumberFormat = "#,##0"
Range("M4:" & "M" & LastRow).Select
Selection.NumberFormat = "#,##0"
End Sub
我正在尝试找到一种方法将不同的列(直到最后一行)组合在一起并进行相应的格式化,而无需单独重复每一列。
答案 0 :(得分:1)
听起来你需要的是Application.Union
。在使用数字格式时,您不需要选择应用数字格式的范围,但这可能对您需要执行的其他操作有所帮助。该公式简化为:
Application.Union(Range("C4:" & "C" & lastrow), Range("e4:" & "e" & lastrow),_
Range("g4:" & "g" & lastrow), Range("I4:" & "I" & lastrow),_
Range("K4:" & "K" & lastrow), Range("M4:" & "M" & lastrow)).NumberFormat = "#,##0"
你可能想要添加一些行间距,但这应该可以解决问题。