Excel VBA Inserir linhas acima de células com formatação específica [closed]

0

Eu não sou muito bom em VBA, mas já procurei uma resposta on-line por horas. Espero que possa me ajudar.

Eu gostaria de inserir linhas acima das células que são preenchidas com uma cor específica (dois índices de cores diferentes). Isso é realmente possível? Eu só tenho texto na coluna A. Então, eu precisaria de um tipo de fórmula, como "se uma célula na coluna A for preta ou cinza (colorindex 1 e?), Insira uma linha branca em branco acima.

Muito obrigado por suas respostas.

user426110
fonte

Respostas:

1

Com dados como:

enter image description here

Executando esta macro:

Sub RowYourBoat()
    Dim r1 As Range, r2 As Range, r3 As Range
    Set r1 = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
    Set r3 = Nothing

    For Each r2 In r1
        If r2.Interior.ColorIndex = 1 Then
            If r3 Is Nothing Then
                Set r3 = r2
            Else
                Set r3 = Union(r3, r2)
            End If
        End If
    Next r2

    If r3 Is Nothing Then
    Else
        r3.EntireRow.Insert
    End If
End Sub

vai produzir:

enter image description here

Isto é para preto, o ColorIndex para cinza depende do tom de cinza que você usa.

Gary's Student
fonte