我有一个VBA宏代码,它复制最后一个单元格值并用红色突出显示粗体文本。
在最后一个单元格中出现一个问题,尽管它会复制分组单元格的最后一个单元格值,但它无法用红色突出显示粗体文本。
检查屏幕截图: http://i.stack.imgur.com/YdQJk.jpg
这是VBA代码:
Sub copy_down()
Dim r As Range, rr As Range, N As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
Set r = Range(Cells(1, "A"), Cells(N, "A")).SpecialCells(xlCellTypeBlanks)
For Each rr In r
with rr
.FillDown
.Font.Bold = True
.Font.Color = RGB(255, 0, 0)
end with
Next
Cells(N + 1, "A").FillDown
End Sub
请检查代码,并建议我该怎么办?
答案 0 :(得分:0)
我假设你提供的代码中前面的图片有空白,然后你想用上面的单元填充空白并将其颜色为红色和粗体。包括在最后一个单元格下方。
Sub Blank_It()
Dim r As Range, rr As Range, N As Long
N = Cells(Rows.Count, "A").End(xlUp).Row + 1
Set r = Range(Cells(1, "A"), Cells(N, "A"))
For Each rr In r.Cells
If IsEmpty(rr) Then
With rr
.Value = .Offset(-1).Value
.Font.Bold = True
.Font.Color = RGB(255, 0, 0)
End With
End If
Next rr
End Sub
答案 1 :(得分:0)
要完成我认为您尝试使用原始代码(包括.FillDown
)的内容,请在N
语句中的Set r
添加一个代码。然后不需要最后一个.filldown
。
Sub copy_down()
Dim r As Range, rr As Range, N As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
Set r = Range(Cells(1, "A"), Cells(N + 1, "A")).SpecialCells(xlCellTypeBlanks)
For Each rr In r
with rr
.FillDown
.Font.Bold = True
.Font.Color = RGB(255, 0, 0)
end with
Next
End Sub