Добавление цвета с VBA для всей строки Excel
Я хочу добавить n
строки, начинающиеся с ячейки А4.
Моя строка A3 синяя, поэтому добавление строк под ней добавит все синие строки.
Это мой код:
Range("A4:A4").Select
Dim lRow As Long
For lRow = 4 To 14
Cell.EntireRow.Interior.ColorIndex = xlNone
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Next lRow
Я получил сообщение об ошибке:
"Требуется объект"
3 ответа
Я что-то здесь упускаю? Почему все зацикливаются?
Range("A4:A14").EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Range("A4:A14").EntireRow.Interior.ColorIndex = xlNone
Range("A4:A4").Select
Dim lRow As Long
For lRow = 4 To 14
Cells(lRow,1).EntireRow.Interior.ColorIndex = xlNone
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Next lRow
Ты использовал Cell
что ничего не значит для VBA. использование Cells([row],[column])
или даже просто Rows(lRow).EntireRow...
Кроме того, вы выбираете одну ячейку (Range("A4:A4").Select
) и это никогда не меняется, так что только A4
когда-нибудь вставят строку - это то, что вы хотите?
Редактировать: без использования .Select
:
Dim myCell as Range
Dim lRow As Long
Set myCell = Range("A4")
For lRow = 4 To 14
Cells(lRow,1).EntireRow.Interior.ColorIndex = xlNone
myCell.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Next lRow
Попробуй это:
Sub testing()
Dim i As Integer
Dim ws As Worksheet
Dim lRow As Long
Set ws = Sheets("Sheet1")
'Range("A4:A4").Select
lRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To 14
Range("A" & i & ":" & "A" & i).Interior.ColorIndex = 5
Next i
End Sub