Excel 插入新行VBA宏

Excel 插入新行VBA宏,excel,insert,vba,Excel,Insert,Vba,我想使用VBA宏在MS Excel中插入新行,并修改新行中特定单元格的背景色,即Interior.ColorIndex 我正在使用ActiveCell.Offset1.EntireRow.Insert在活动单元格下方插入新行,但我不确定如何更改新行中特定单元格的背景色 例如: 如果插入新行,即第4行,我希望将单元格B4和C4的背景色更改为灰色 任何帮助都将不胜感激 问候 马丁这样就可以了: Sub insertRowAndHighlightCells() Dim rng As Rang

我想使用VBA宏在MS Excel中插入新行,并修改新行中特定单元格的背景色,即Interior.ColorIndex

我正在使用ActiveCell.Offset1.EntireRow.Insert在活动单元格下方插入新行,但我不确定如何更改新行中特定单元格的背景色

例如:

如果插入新行,即第4行,我希望将单元格B4和C4的背景色更改为灰色

任何帮助都将不胜感激

问候

马丁

这样就可以了:

Sub insertRowAndHighlightCells()

    Dim rng As Range
    Dim rw As Long

    With ActiveCell
        rw = .Row
        .Offset(1).EntireRow.Insert
    End With

    Set rng = Rows(rw + 1)
    rng.Columns("B:C").Interior.Color = RGB(191, 191, 191)

End Sub
编辑

更简单的版本是:

Sub insertRowAndHighlightCells()

    Dim rw As Long

    With ActiveCell
        rw = .Row
        .Offset(1).EntireRow.Insert
    End With

    Rows(rw + 1).Columns("B:C").Interior.Color = RGB(191, 191, 191)

End Sub

为什么不使用用于插入行的activecell.offset1,0呢

例如


您用来插入行的代码是什么?您是如何触发它的?“在活动单元格ActiveCell.Offset1.EntireRow.InsertI下插入行我是从功能区的自定义图标触发它的。Miqi180您的答案太棒了!非常感谢:-谢谢。很乐意帮忙。
Sub test()
    ActiveCell.Offset(1, 0).EntireRow.Insert shift:=xlDown
    ActiveSheet.Cells(ActiveCell.Offset(1, 0).Row, 2).Interior.ColorIndex = 15
    ActiveSheet.Cells(ActiveCell.Offset(1, 0).Row, 3).Interior.ColorIndex = 15
    'Alternatively:
    Dim colorRow as integer
    colorRow = ActiveCell.Offset(1,0).Row 'The inserted row)
    ActiveSheet.Range("B" & colorRow & ":C" & colorRow).Interior.ColorIndex = 15

End Sub