使用End(xlUp)格式化最低行

时间:2015-07-31 17:00:18

标签: excel vba excel-vba

我使用宏作为参考,并创建此代码以选择和格式化最后一行文本。但是我收到了语法错误。任何有关如何解决这个问题的见解将不胜感激。

Dim Title As String
Title = "C. TEST PROCEDURE"
Sheets("Sheet1").Range("B56").End(xlUp).Offset(1, -1) = Title
Sheets("Sheet1").Range("A56").End(xlUp).Offset(0, 0).Select
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.Bold = True

3 个答案:

答案 0 :(得分:3)

使用Selection要求您保留工作表,例如Sheet1处于活动状态。如果您激活了另一张工作表并运行代码,则会出现错误。 Selection在VBA中是不好的选择。

试试这个

With Sheets("Sheet1").Range("A56").End(xlUp).Offset(0, 0)
.Font.Underline = xlUnderlineStyleSingle
.Font.Bold = True
End With

答案 1 :(得分:0)

您的代码可以使用适当的数据。

从:

开始

enter image description here

您的代码生成:

enter image description here

答案 2 :(得分:0)

代码运行没有任何语法错误,但如果您要格式化最后一行,以下内容适用于我

Dim Title As String, ws As Worksheet
Set ws = ActiveSheet
Title = "C. TEST PROCEDURE"
ws.Cells(ws.Rows.count, "B").End(xlUp).Offset(1, -1) = Title
ws.Cells(ws.Rows.count, "A").End(xlUp).Offset(0, 0).Select
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.Bold = True

我不确定第56行是否有任何重要内容,但这会获得该列中使用的最后一行。