Excel VBA - 仅在顶部和底部添加边框的总线

时间:2012-03-16 03:49:21

标签: excel-vba formatting range vba excel

我想在顶部添加边框线,在总线底部添加边框线

EG。我有第2行到第3行以及第3-4列的数据,然后我添加了一行总计第5行第2-3行的总和。

我想在第5行的顶部和底部添加边框线,并且只在第4列添加。

我可以使用变量LastRow + 2(注意我在最后一行数据和总线之间有一个空行)和LastColumn一些如何在Range(“A5:D5”)中。选择因为这将是变量每一次?

我目前的代码:

Range("A5:D5").Select
With Selection.Borders(xlEdgeTop)
   .LineStyle = xlContinuous
   .Weight = xlThin
   .ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
   .LineStyle = xlContinuous
   .Weight = xlThin
   .ColorIndex = xlAutomatic
End With

2 个答案:

答案 0 :(得分:4)

我认为NexttRow的东西仍然是一个好主意,代码也可以简化,这会增加总和,并将第二行的和行格式化为数据的底部,无论在哪里:

NR = Range("A" & Rows.Count).End(xlUp).Row + 1

Range("C" & NR, "D" & NR).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
With Range("A" & NR, "D" & NR)
    .Borders(xlEdgeTop).Weight = xlThin
    .Borders(xlEdgeBottom).Weight = xlThin
End With

答案 1 :(得分:2)

您并不真正需要LastRow或LastCol变量。请参考您范围的最后一行,如下所示:

With Range("A5:D5")
    With .Rows(.Rows.Count)
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
    End With
End With

您可以将其概括为一个将范围传递给的子程序。