我试图加粗多行单元格的最后一行(列E),但具体是基于同一行(列L)中的另一个单元格是否为空/空。我有工作代码,只是粗略的最后一行,但试图合并IF部分让我卡住了。这是我到目前为止,它一直给我一个数据不匹配错误。
提前感谢您的任何帮助或建议。
Sub BoldLastLine1()
Dim p As Long
Dim r As Range
For Each r In ActiveSheet.Range("A3:L100")
If Len(Trim(ActiveSheet.Cells(r, 12).Value)) <> 0 Then
p = InStrRev(r.Value, vbLf)
If p > 0 Then
With r.Characters(p + 1, Len(r.Value) - p).Font
.Bold = True
.Size = 16
End With
End If
End If
Next
MsgBox ("Updates Completed.")
End Sub
答案 0 :(得分:2)
工作表或范围的cells
- 属性需要行和列的2个数字参数。
您正在定义范围r
并将其作为第一个参数传递,这会导致错误。
你可以使用例如
If Len(Trim(ActiveSheet.Cells(r.Row, 12).Value)) Then
这指向范围r
更新:
Cells
也接受一个字符串作为第二个参数,你也可以写
If Len(Trim(ActiveSheet.Cells(r.Row, "L").Value)) Then