Página 1 de 1

Pintar célula através Código de Cor VBA

Enviado: 31 Mar 2016 às 14:29
por afelizardo
Boa tarde a todos,
Precisava de uma ajuda, tenho um ficheiro com duas sheets que detêm dados, em que existe uma sheet1 que apresenta determinados dados, com células pintadas com diversas cores, outra sheet2 com dados que alguns deles são iguais às da Sheet 1.
Eu gostaria que na Sheet 2, todos os dados que cruzassem com a Sheet1 pintasse da cor de Origem.

Através de VBA inseri a seguinte função, que permite a devolução do código da cor:

Function Retorna_cor(Cell As Range) As Long
Retorna_cor = Cell.Interior.ColorIndex
End Function

Portanto identifiquei o código de cor em VBA na Sheet1

Agora falta fazer uma função na Sheet 2 que pinta a célula de acordo com o código da cor. Podem me ajudar?

(talvez esteja um pouco confusa a minha duvida)

Pintar célula através Código de Cor VBA

Enviado: 31 Mar 2016 às 15:38
por Jonathaluis
afelizardo, boa tarde!

Eu faria da seguinte maneira:

Sub Botão1_Clique()

ini = 1

Do While Worksheets("Plan1").Cells(ini, 1) <> ""
ini2 = 2
Do While Worksheets("Plan2").Cells(ini2, 1) <> ""
If (Worksheets("Plan1").Cells(ini, 1) = Worksheets("Plan2").Cells(ini2, 1)) Then
Worksheets("Plan2").Cells(ini2, 1).Interior.ColorIndex = Worksheets("Plan1").Cells(ini, 1).Interior.ColorIndex
End If
ini2 = ini2 + 1
Loop
ini = ini + 1
Loop

End Sub

Pintar célula através Código de Cor VBA

Enviado: 31 Mar 2016 às 15:39
por Jonathaluis
afelizardo, boa tarde!

havia um erro, corrigi

Sub Botão1_Clique()

ini = 1

Do While Worksheets("Plan1").Cells(ini, 1) <> ""
ini2 = 1
Do While Worksheets("Plan2").Cells(ini2, 1) <> ""
If (Worksheets("Plan1").Cells(ini, 1) = Worksheets("Plan2").Cells(ini2, 1)) Then
Worksheets("Plan2").Cells(ini2, 1).Interior.ColorIndex = Worksheets("Plan1").Cells(ini, 1).Interior.ColorIndex
End If
ini2 = ini2 + 1
Loop
ini = ini + 1
Loop

End Sub

Re: Pintar célula através Código de Cor VBA

Enviado: 01 Abr 2016 às 05:13
por afelizardo
Muito obrigada. No entanto, não estou a conseguir, dá-me um erro. :(

Em anexo segue o ficheiro.

Obrigada pela atenção.

Pintar célula através Código de Cor VBA

Enviado: 01 Abr 2016 às 08:40
por Jonathaluis
Afelizardo, bom dia!

O problema é que na aba "Analise" o nome está com espaço a mais no final, corrige ou coloca no código "Analise " com espaço no fim.

Pelo que vi seu código pintará de branco todas as linhas de "Analise" se encontrada em "Folha1", é isso mesmo? Achei que seria o contrário.

Espero ter ajudado.

Pintar célula através Código de Cor VBA

Enviado: 01 Abr 2016 às 09:18
por afelizardo
Sim ajudou imenso. Muito Obrigada.