2015-10-14 3 views
0

Мне нужно изменить цвет строки (или ячейки A через H в определенной строке), который был вставлен макросом ниже. Оператор if, который сканирует Col H, - это то, где должно произойти изменение цвета.excel vba строка вставки и изменение цвета

Sub SolidWorks() 

Application.ScreenUpdating = False 

Range("A100000").End(xlUp).Activate 
Range("N1") = ActiveCell.Row 

For lrow = Cells(Cells.Rows.Count, "B").End(xlUp).Row To 1 Step -1 
If Cells(lrow, "B") = 0 Then 
      Rows(lrow).EntireRow.Delete 
End If 
Next lrow 

For lrow = Cells(Cells.Rows.Count, "H").End(xlUp).Row To 1 Step -1 
    If Cells(lrow, "H") <> Cells(lrow - IIf(lrow = 1, 0, 1), "H") Then 
      Rows(lrow).EntireRow.Insert '<---- insert green row, instead of just a blank row 
'.Color = 5287936 
'    With Selection.Interior 
'    .Pattern = xlSolid 
'    .PatternColorIndex = xlAutomatic 
'    .Color = 5287936 
'    .TintAndShade = 0 
'    .PatternTintAndShade = 0 
'    End With 
    End If 
Next lrow 

For lrow = Cells(Cells.Rows.Count, "G").End(xlUp).Row To 1 Step -1 
    If Cells(lrow, "G") <> Cells(lrow - IIf(lrow = 1, 0, 1), "G") Then 
      Rows(lrow).EntireRow.Insert 
    End If 
Next lrow 

Range("A1").Select 

Application.ScreenUpdating = True 

End Sub 
+0

Перейти к записи макросов и изменить свойства строки вручную. Затем возьмите это знание и вставьте код по мере необходимости в свой VBA. –

ответ

1

Вы получили его там, вам просто нужно одну строку после Rows(lRow).EntireRow.Insert

и что Range("A" & lRow & ":H" & lRow).Interior.Color = 5287936

+0

Я знал, что должен быть рядом, но почти смущаю, что я был так близок. Благодаря Скотту –

Смежные вопросы