Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#69358
Bom dia!

Necessito localizar células de uma determinada cor e acima delas inserir algumas linhas específicas.

Na planilha exemplo anexada, necessito que o VBA identifique as linhas com células da cor verde e insira acima delas as linhas 2, 3, 4 e 5.

Na planilha demostro o resultado esperado.

Obrigado
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por Osbont em 08 Mar 2022 às 15:26, em um total de 1 vez.
#69360
Experimente:
Código: Selecionar todos
Sub InsereIntervalo()
 Dim k As Long
  Application.ScreenUpdating = False
  For k = Cells(Rows.Count, 1).End(3).Row + 1 To 7 Step -1
   If Cells(k, 1).Interior.Color = 13433871 Then
    Range("A2:F5").Copy
    Cells(k, 1).Resize(, 6).Insert Shift:=xlDown
   End If
  Next k
  Application.CutCopyMode = False
End Sub
#
obs. antes de rodar o código coloque manualmente as bordas em A2:F5, conforme desejado.
#69438
Boa tarde osvaldomp!

Desculpe pela demora em dar retorno.
Funcionou perfeito. Um código simples, enxuto e que funciona perfeitamente.
Adorei. Parabéns e muito obrigado.
Vou ver se adapto o código para quando encontrar uma linha que não seja branca inserir o intervalo.
Ocorre que a cor não é padrão e quando muda de cor falha.
Vou tentar algo como se interior for diferente de branco daí inserir.
Depois posto o código quando conseguir alterar.
Agradeço mesmo pois as planilhas que vou trabalhas tem em torno de 600 linhas e eu fazia manualmente.
Valeuuuuu
#69439
Alterei a linha
If Cells(k, 1).Interior.Color = 13433871 Then
para
If Cells(k, 1).Interior.Color <> 16777215 Then.
Funcionou.

Por mim estou satisfeitíssimo com a resposta e o tópico pode ser encerrado.
Obrigado
#69440
Osbont escreveu: 03 Mar 2022 às 16:16 Vou tentar algo como se interior for diferente de branco daí inserir.
É isso! :idea:
Grato pelo retorno.

substitua ~~~> = 13433871

por ~~~> <> 16777215

Depois que postei foi que vi que você chegou antes, de Ferrari ... cheguei só agora, de Fusca 66.

Para marcar o tópico como resolvido só você pode fazê-lo. No primeiro post edite o título e coloque, por exemplo no início, [RESOLVIDO].
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord