Mudar a cor do batão ao cliclar  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Mudar a cor do batão ao cliclar

Mensagempor Mardr » Sex Jan 12, 2018 10:25 am

Olá aos considerados membros do Planilhando

Tentei, mas em vão, fazer com que ao clicar em um botão, contido na planilha, o mesmo assuma uma cor personalizada , por exemplo .backcolor = RGB (64,64,64) diferente dos demais botões que estão na cor: .backcolor= RGB(128,128,128).
Gostaria, portanto, de desenvolver um código no qual ao se clicar no botão, o mesmo alterasse e assumisse a cor personalizada e ao se clicar em outro botão, esse botão anteriormente clicado, voltasse a cor original.
Será que consegui explicar o que eu pretendo?
Lembrando que não gostaria de usar o efeito MouseMov... ok
Segue a planilha de exemplo
Grato,
Você não está autorizado a ver ou baixar esse anexo.
Mardr
Membro
Membro
 
Mensagens: 20
Registrado em: Dom Mar 05, 2017 11:49 am
Has thanked: 11 times
Have thanks: 0 time

{ SO_SELECT }

Re: Mudar a cor do batão ao cliclar

Mensagempor klarc28 » Sex Jan 12, 2018 10:56 am

Esta forma é extensa e inviável para grandes quantidades de botões:

Código: Selecionar todos
Private Sub Cbo_Atividades_Click()
If Cbo_Atividades.BackColor = RGB(128, 128, 128) Then
Cbo_Atividades.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

End If
End Sub

Private Sub Cbo_Faltas_Click()
If Cbo_Faltas.BackColor = RGB(128, 128, 128) Then
Cbo_Faltas.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

End If
End Sub

Private Sub Cbo_Grafico_Click()
If Cbo_Grafico.BackColor = RGB(128, 128, 128) Then
Cbo_Grafico.BackColor = RGB(64, 64, 64)

Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

End If
End Sub

Private Sub Cbo_Lista_Click()
If Cbo_Lista.BackColor = RGB(128, 128, 128) Then
Cbo_Lista.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

End If
End Sub

Private Sub Cbo_ListaChamada_Click()
If Cbo_ListaChamada.BackColor = RGB(128, 128, 128) Then
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

End If
End Sub

Private Sub Cbo_Notas_Click()
If Cbo_Notas.BackColor = RGB(128, 128, 128) Then
Cbo_Notas.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)

End If
End Sub
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.
klarc28
Membro
Membro
 
Mensagens: 1051
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 22 times
Have thanks: 438 times

Re: Mudar a cor do batão ao cliclar

Mensagempor klarc28 » Sex Jan 12, 2018 11:02 am

Esta forma é mais resumida e vale para grandes quantidades de botões:

Código: Selecionar todos
Public nome As Integer

Sub Botao()

Dim Botao(6) As Object
Dim i, j As Integer
'
'
'
With Plan1
Set Botao(0) = .Cbo_Notas
Set Botao(1) = .Cbo_Faltas
Set Botao(2) = .Cbo_Atividades
Set Botao(3) = .Cbo_Lista
Set Botao(4) = .Cbo_ListaChamada
Set Botao(5) = .Cbo_Grafico

If Botao(nome).BackColor = RGB(64, 64, 64) Then
   Botao(nome).BackColor = RGB(128, 128, 128)
   Else
   Botao(nome).BackColor = RGB(64, 64, 64)
   End If

For i = 0 To 5

If nome <> i Then

If Botao(nome).BackColor = RGB(64, 64, 64) Then
   Botao(i).BackColor = RGB(128, 128, 128)
   Else
   Botao(i).BackColor = RGB(64, 64, 64)
   End If


End If

Next i
End With
End Sub




Código: Selecionar todos
Private Sub Cbo_Atividades_Click()
nome = 0
Call Botao

End Sub

Private Sub Cbo_Faltas_Click()
nome = 1

Call Botao
End Sub

Private Sub Cbo_Grafico_Click()
nome = 2

Call Botao
End Sub

Private Sub Cbo_Lista_Click()
nome = 3

Call Botao
End Sub

Private Sub Cbo_ListaChamada_Click()
nome = 4

Call Botao
End Sub

Private Sub Cbo_Notas_Click()
nome = 5

Call Botao
End Sub
Você não está autorizado a ver ou baixar esse anexo.
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.

For this post the author klarc28 thanked:
Mardr (Sex Jan 12, 2018 10:13 pm)
klarc28
Membro
Membro
 
Mensagens: 1051
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 22 times
Have thanks: 438 times

Re: Mudar a cor do batão ao cliclar

Mensagempor alexandrevba » Sex Jan 12, 2018 11:41 am

Boa tarde!!

Use nossa base
https://cse.google.com.br/cse?cx=partne ... cor+do+batão+ao+cliclar&sa=Pesquisar#gsc.tab=0&gsc.q=Mudar%20a%20cor%20do%20bat%C3%A3o%20ao%20cliclar%20vba

Att
Espero ter Ajudado.
Se a mensagem foi util Favor Clicar na mãozinha.
Quando necessário, lembre se de marcar o tópico como [RESOLVIDO].

For this post the author alexandrevba thanked:
Mardr (Sex Jan 12, 2018 10:13 pm)
Avatar do usuário
alexandrevba
Membro
Membro
 
Mensagens: 9270
Registrado em: Dom Jul 03, 2011 7:45 pm
Localização: Serra - ES
Has thanked: 0 time
Have thanks: 2682 times

Re: Mudar a cor do batão ao cliclar

Mensagempor Mardr » Sex Jan 12, 2018 12:00 pm

Olá Alexandre VBA
Apliquei as alteração, porém de fato, o único botão que realmente altera a cor ao clicar é o primeiro botão de "Cbo_Notas" os demais se altera de forma correta...
Segue a planilha com as modificações realizadas para sua análise
De antemão lhe agradeço pela sua colaboração

Grato,
Marcelo Adriano
Você não está autorizado a ver ou baixar esse anexo.
Mardr
Membro
Membro
 
Mensagens: 20
Registrado em: Dom Mar 05, 2017 11:49 am
Has thanked: 11 times
Have thanks: 0 time

Re: Mudar a cor do batão ao cliclar

Mensagempor klarc28 » Sex Jan 12, 2018 12:08 pm

A resposta está acima. Veja o anexo Alterar cores de botões 2
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.

For this post the author klarc28 thanked:
Mardr (Sex Jan 12, 2018 10:15 pm)
klarc28
Membro
Membro
 
Mensagens: 1051
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 22 times
Have thanks: 438 times

Re: Mudar a cor do batão ao cliclar

Mensagempor Mardr » Sex Jan 12, 2018 12:09 pm

Olá klarc28
Quando depuro o código no Editor VBE vejo o código sendo executado perfeitamente, porem , ao chamar a sub "Call Botão", na acontece...
Segue a planilha em questão..

De antemão lhe agradeço...

Att,
Marcelo Adriano
Você não está autorizado a ver ou baixar esse anexo.
Mardr
Membro
Membro
 
Mensagens: 20
Registrado em: Dom Mar 05, 2017 11:49 am
Has thanked: 11 times
Have thanks: 0 time

Re: Mudar a cor do batão ao cliclar

Mensagempor klarc28 » Sex Jan 12, 2018 12:12 pm

A resposta está acima. Veja o anexo Alterar cores de botões 2. Favor marcar como resolvido na parte que eu enviei.
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.

For this post the author klarc28 thanked:
Mardr (Sex Jan 12, 2018 10:14 pm)
klarc28
Membro
Membro
 
Mensagens: 1051
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 22 times
Have thanks: 438 times

Re: Mudar a cor do batão ao cliclar

Mensagempor klarc28 » Sex Jan 12, 2018 12:20 pm

Código: Selecionar todos
Private Sub Cbo_Atividades_Click()
If Cbo_Atividades.BackColor = RGB(128, 128, 128) Then
Cbo_Atividades.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

Else
Cbo_Atividades.BackColor = RGB(128, 128, 128)

Cbo_Grafico.BackColor = RGB(64, 64, 64)
Cbo_Faltas.BackColor = RGB(64, 64, 64)
Cbo_Lista.BackColor = RGB(64, 64, 64)
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)
Cbo_Notas.BackColor = RGB(64, 64, 64)

End If
End Sub

Private Sub Cbo_Faltas_Click()
If Cbo_Faltas.BackColor = RGB(128, 128, 128) Then
Cbo_Faltas.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)
Else
Cbo_Faltas.BackColor = RGB(128, 128, 128)

Cbo_Grafico.BackColor = RGB(64, 64, 64)
Cbo_Atividades.BackColor = RGB(64, 64, 64)
Cbo_Lista.BackColor = RGB(64, 64, 64)
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)
Cbo_Notas.BackColor = RGB(64, 64, 64)
End If
End Sub

Private Sub Cbo_Grafico_Click()
If Cbo_Grafico.BackColor = RGB(128, 128, 128) Then
Cbo_Grafico.BackColor = RGB(64, 64, 64)

Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)
Else
Cbo_Grafico.BackColor = RGB(128, 128, 128)

Cbo_Atividades.BackColor = RGB(64, 64, 64)
Cbo_Faltas.BackColor = RGB(64, 64, 64)
Cbo_Lista.BackColor = RGB(64, 64, 64)
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)
Cbo_Notas.BackColor = RGB(64, 64, 64)
End If
End Sub

Private Sub Cbo_Lista_Click()
If Cbo_Lista.BackColor = RGB(128, 128, 128) Then
Cbo_Lista.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)
Else
Cbo_Lista.BackColor = RGB(128, 128, 128)

Cbo_Grafico.BackColor = RGB(64, 64, 64)
Cbo_Faltas.BackColor = RGB(64, 64, 64)
Cbo_Atividades.BackColor = RGB(64, 64, 64)
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)
Cbo_Notas.BackColor = RGB(64, 64, 64)
End If
End Sub

Private Sub Cbo_ListaChamada_Click()
If Cbo_ListaChamada.BackColor = RGB(128, 128, 128) Then
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)
Cbo_Notas.BackColor = RGB(128, 128, 128)

Else
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)

Cbo_Grafico.BackColor = RGB(64, 64, 64)
Cbo_Faltas.BackColor = RGB(64, 64, 64)
Cbo_Atividades.BackColor = RGB(64, 64, 64)
Cbo_Lista.BackColor = RGB(64, 64, 64)
Cbo_Notas.BackColor = RGB(64, 64, 64)
End If
End Sub

Private Sub Cbo_Notas_Click()
If Cbo_Notas.BackColor = RGB(128, 128, 128) Then
Cbo_Notas.BackColor = RGB(64, 64, 64)

Cbo_Grafico.BackColor = RGB(128, 128, 128)
Cbo_Faltas.BackColor = RGB(128, 128, 128)
Cbo_Atividades.BackColor = RGB(128, 128, 128)
Cbo_ListaChamada.BackColor = RGB(128, 128, 128)
Cbo_Lista.BackColor = RGB(128, 128, 128)

Else
Cbo_Notas.BackColor = RGB(128, 128, 128)

Cbo_Grafico.BackColor = RGB(64, 64, 64)
Cbo_Faltas.BackColor = RGB(64, 64, 64)
Cbo_Atividades.BackColor = RGB(64, 64, 64)
Cbo_ListaChamada.BackColor = RGB(64, 64, 64)
Cbo_Lista.BackColor = RGB(64, 64, 64)
End If
End Sub
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.

For this post the author klarc28 thanked:
Mardr (Sex Jan 12, 2018 10:14 pm)
klarc28
Membro
Membro
 
Mensagens: 1051
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 22 times
Have thanks: 438 times

Re: Mudar a cor do batão ao cliclar

Mensagempor babdallas » Sex Jan 12, 2018 1:46 pm

Veja se ajuda.
Você não está autorizado a ver ou baixar esse anexo.
Espero que tenha ajudado.
Se esta ajuda resolveu seu problema, por favor marque o tópico como resolvido.
Se lhe fui útil, agradeço se me conceder seu like clicando na mãozinha.

For this post the author babdallas thanked:
Mardr (Sex Jan 12, 2018 10:14 pm)
babdallas
Membro
Membro
 
Mensagens: 86
Registrado em: Dom Nov 05, 2017 8:37 pm
Has thanked: 0 time
Have thanks: 51 times

Próximo

Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes

cron