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.
#62762
Boa tarde, estou com uma dúvida em relação a área de transferência e o VBA. Vou tentar explicar da forma mais detalhada.

Eu criei uma coluna (B2:B5) com formatação condicional que reconhece as palavras “Maçã” e “Laranja”. Ao reconhecer essas palavras, a formatação condicional automaticamente pinta essas células de verde:

Imagem
Imagem 1 – tabela com formatação condicional.

Então, me surgiu a necessidade de copiar esses dados para outra coluna, e manter as cores que a formatação condicional executa, PORÉM, sem a formatação condicional em si. Ou seja, se nessa nova coluna (E2:E5) eu clicar para “gerenciar as regras” não terá nenhuma regra:

Imagem
Imagem 2 – duas tabelas, sendo B2:B5 com formatação condicional e E2:E5 sem a formatação condicional, porém, mantendo as cores da tabela B2:B5.

Para conseguir copiar as células da coluna B2:B5 mantendo somente as cores e excluindo a formatação condicional, a única forma que eu encontrei foi copiando os dados da coluna B2:B5; clicando em “Área de transferência” na aba “Página inicial” e colando os dados na célula E2, que cola automaticamente toda a coluna B2:B5:

Imagem
Imagem 3 – passo a passo para conseguir criar tabela (E2:E5) que mantenha a cor da tabela B2:B5 e tira as regras da formatação condicional.

Tendo realizado esse passo a passo, eu consegui exatamente o que queria: uma tabela idêntica à tabela B2:B5, sem a formatação condicional e conservando as cores da coluna.
Então decidi deixar todo o processo automatizado, gravando uma macro. Para tanto, tudo isso que eu falei foi gravado numa macro onde eu copiei os dados da coluna B2:B5, abri a área de transferência e colei a transferência da tabela na coluna E2:E5.
Quando fui rodar a macro no botão que criei, apareceu esse erro:

Imagem
Imagem 4: erro da macro.

E o código da macro ficou assim (sendo destacado exatamente o ponto em que a macro falhou):

Range("B2:B5").Select
Selection.Copy
Range("E2").Select
Application.CutCopyMode = False
ActiveSheet.Paste >>>ESSE FOI O PONTO QUE A MACRO FALHOU
Application.CommandBars("Office Clipboard").Visible = False
Range("F3").Select
End Sub


Assim, não estou conseguindo automatizar um processo que manualmente eu consigo fazer. Vocês conseguem me ajudar a automatizar isso?
Ainda, se tiver uma outra forma de copiar a coluna B2:B5 (que está com o formato condicional e as cores marcadas) para a coluna E2:E5 (que não terá as regras do formato condicional porém as cores conservadas) também agradeço a explicação.

Muito obrigado pela atenção!!
#62764
#
Experimente o código abaixo. Funciona com qualquer quantidade de células preenchidas na coluna B.
Código: Selecionar todos
Sub ReplicaIntervaloRemoveFC()
 Dim r As Range
  Range("B2:B" & Cells(Rows.Count, 2).End(3).Row).Copy [E2]
   For Each r In Range("E2:E" & Cells(Rows.Count, 5).End(3).Row)
    If r.DisplayFormat.Interior.Color <> 16777215 Then r.Interior.Color = r.DisplayFormat.Interior.Color
    r.FormatConditions.Delete
   Next r
End Sub
JCabral, Sullivan2021 agradeceu por isso
#62786
osvaldomp escreveu: 10 Mar 2021 às 20:28 #
Experimente o código abaixo. Funciona com qualquer quantidade de células preenchidas na coluna B.
Código: Selecionar todos
Sub ReplicaIntervaloRemoveFC()
 Dim r As Range
  Range("B2:B" & Cells(Rows.Count, 2).End(3).Row).Copy [E2]
   For Each r In Range("E2:E" & Cells(Rows.Count, 5).End(3).Row)
    If r.DisplayFormat.Interior.Color <> 16777215 Then r.Interior.Color = r.DisplayFormat.Interior.Color
    r.FormatConditions.Delete
   Next r
End Sub


Funcionou corretamente Osvaldomp, muito obrigado pela sua resposta e atenção, você me ajudou exatamente onde precisava!!
osvaldomp agradeceu por isso
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