Excel 插入新行VBA宏
我想使用VBA宏在MS Excel中插入新行,并修改新行中特定单元格的背景色,即Interior.ColorIndex 我正在使用ActiveCell.Offset1.EntireRow.Insert在活动单元格下方插入新行,但我不确定如何更改新行中特定单元格的背景色 例如: 如果插入新行,即第4行,我希望将单元格B4和C4的背景色更改为灰色 任何帮助都将不胜感激 问候 马丁这样就可以了: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
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