Usuário com melhor resposta
Mudar cor célula aleatório

Pergunta
-
Bom Dia Amigos do Fórum
Gostaria da ajuda de todos em uma macro para mudar a cor de uma sequencia de células aleatoriamente, ou seja, tenho quatro células com valores específicos e gostaria que mudasse de cor acionado por uma macro através de um botão, mudando a cor da célula aleatoriamente de forma automática.
de já,
agradeço a todos.
Mauro
Respostas
-
Sub fMain() Dim rng As Range 'Mude o intervalo das células em que deseja 'aplicar o efeito abaixo: For Each rng In Range("A1,C3,D4,D5") rng.Interior.Color = RGB( _ WorksheetFunction.RandBetween(0, 255), _ WorksheetFunction.RandBetween(0, 255), _ WorksheetFunction.RandBetween(0, 255)) Next rng End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta MauroMeira terça-feira, 16 de abril de 2013 15:02
- Não Marcado como Resposta MauroMeira terça-feira, 16 de abril de 2013 15:09
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:00
-
Bom Dia
Caro Amigo FelipeObrigado pela sua ajuda
É basicamente isso, na verdade, é possível especificar as quatro cores, tipo
apenas quatro cores para poder distinguir melhor os resultados.Abraço
Mauro
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:00
-
Sub fMain() Dim rng As Range Dim col As Collection Dim lng As Long Set col = New Collection col.Add RGB(50, 50, 250) col.Add RGB(150, 50, 50) col.Add RGB(250, 150, 50) col.Add RGB(50, 250, 50) For Each rng In Range("A1,C3,D4,D5") lng = WorksheetFunction.RandBetween(1, col.Count) rng.Interior.Color = col(lng) col.Remove lng Next rng End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:00
-
Sub fMain() Dim rng As Range Dim col As Collection Dim lng As Long Set col = New Collection col.Add RGB(50, 50, 250) col.Add RGB(150, 50, 50) col.Add RGB(250, 150, 50) col.Add RGB(50, 250, 50) For Each rng In Range("A1,C3,D4,D5") lng = WorksheetFunction.RandBetween(1, col.Count) rng.Interior.Color = col(lng) col.Remove lng Next rng End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
Bom Dia Caro Amigo Felipe
Obrigado pela ajuda, é isso mesmo que precisava.
Abraço
Mauro
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:01
-
Pelo que entendi, basta fazer um pequeno complemento ao código:
Sub fMain() Dim rng As Range Dim col As Collection Dim lng As Long Set col = New Collection col.Add RGB(50, 50, 250) 'Azul col.Add RGB(150, 50, 50) col.Add RGB(250, 150, 50) col.Add RGB(50, 250, 50) For Each rng In Range("A1,C3,D4,D5") lng = WorksheetFunction.RandBetween(1, col.Count) rng.Interior.Color = col(lng) col.Remove lng Next rng 'Parte nova do código If Range("A1").Interior.Color = RGB(50, 50, 250) Then Range("B1") = "02" End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta MauroMeira sábado, 25 de maio de 2013 02:20
Todas as Respostas
-
Sub fMain() Dim rng As Range 'Mude o intervalo das células em que deseja 'aplicar o efeito abaixo: For Each rng In Range("A1,C3,D4,D5") rng.Interior.Color = RGB( _ WorksheetFunction.RandBetween(0, 255), _ WorksheetFunction.RandBetween(0, 255), _ WorksheetFunction.RandBetween(0, 255)) Next rng End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta MauroMeira terça-feira, 16 de abril de 2013 15:02
- Não Marcado como Resposta MauroMeira terça-feira, 16 de abril de 2013 15:09
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:00
-
Bom Dia
Caro Amigo FelipeObrigado pela sua ajuda
É basicamente isso, na verdade, é possível especificar as quatro cores, tipo
apenas quatro cores para poder distinguir melhor os resultados.Abraço
Mauro
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:00
-
Sub fMain() Dim rng As Range Dim col As Collection Dim lng As Long Set col = New Collection col.Add RGB(50, 50, 250) col.Add RGB(150, 50, 50) col.Add RGB(250, 150, 50) col.Add RGB(50, 250, 50) For Each rng In Range("A1,C3,D4,D5") lng = WorksheetFunction.RandBetween(1, col.Count) rng.Interior.Color = col(lng) col.Remove lng Next rng End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:00
-
Sub fMain() Dim rng As Range Dim col As Collection Dim lng As Long Set col = New Collection col.Add RGB(50, 50, 250) col.Add RGB(150, 50, 50) col.Add RGB(250, 150, 50) col.Add RGB(50, 250, 50) For Each rng In Range("A1,C3,D4,D5") lng = WorksheetFunction.RandBetween(1, col.Count) rng.Interior.Color = col(lng) col.Remove lng Next rng End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
Bom Dia Caro Amigo Felipe
Obrigado pela ajuda, é isso mesmo que precisava.
Abraço
Mauro
- Marcado como Resposta MauroMeira segunda-feira, 22 de abril de 2013 16:01
-
Ainda Sobre este tópico, apareceu a necessidade de outra ajuda de todos, desculpe, esta continuação se deu por tentar por várias vezes e não conseguir em busca pelo google, então venho encarecidamente pedir a ajuda de todos mais uma vez. Como podem ver acima um código cedido gentilmente pelo nosso colega Felipe Costa, Obrigado mais uma vez Felipe, ele altera aleatoriamente as cores das células, eu preciso quando uma determinada célula mudar de cor de minha escolha, nesta célula terá o valor "02", então este valor apareça em outra célula.
Exemplo: célula A1, número na célula "02", aparece a cor azul, então o número "02" vai para célula B1
Obrigado a todosAbraço.
MauroMeira
-
Pelo que entendi, basta fazer um pequeno complemento ao código:
Sub fMain() Dim rng As Range Dim col As Collection Dim lng As Long Set col = New Collection col.Add RGB(50, 50, 250) 'Azul col.Add RGB(150, 50, 50) col.Add RGB(250, 150, 50) col.Add RGB(50, 250, 50) For Each rng In Range("A1,C3,D4,D5") lng = WorksheetFunction.RandBetween(1, col.Count) rng.Interior.Color = col(lng) col.Remove lng Next rng 'Parte nova do código If Range("A1").Interior.Color = RGB(50, 50, 250) Then Range("B1") = "02" End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta MauroMeira sábado, 25 de maio de 2013 02:20
-
-
Olá Felipe.
Gostaria de saber se é possível colorir o fundo de algumas celulas especificas.
Exemplo, tenho um relatório e nele tenho algumas celulas com conteúdo e que devem ser selecionadas, dependendo do caso. A1 conteúdo "Auditoria Interna" B1 conteúdo "Reclamação de Clientes" e assim por diante.
A ideia é que ao selecionar tal célula ela fique na cor amarela, enquanto que o restante do relatório não sofra esta alteração.
Encontrei na net vários códigos que pintam os fundos das células, porém fazem isso independentemente de onde é clicado.
Obrigado,