压缩重复的选择和数字格式

时间:2015-09-17 15:11:00

标签: vba excel-vba excel

我正在使用以下代码:

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

我正在尝试找到一种方法将不同的列(直到最后一行)组合在一起并进行相应的格式化,而无需单独重复每一列。

1 个答案:

答案 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"

你可能想要添加一些行间距,但这应该可以解决问题。