Excel command button cambiar colores

¿Cómo puedo hacer en excel para que un botón de command button cambie de diferentes colores distintos al hacer click sobre el?

Como debería ser la macro para ingresar en la pestaña de visual basic y si por favor me pueden pasar la formula que iria, los colores son verde, rojo, naranja y azul

1 respuesta

Respuesta
1

H o l a:

Private Sub CommandButton1_Click()
CommandButton1.BackColor = vbBlue ' AZUL
CommandButton1.BackColor = vbred ' ROJO
CommandButton1.BackColor = vbGreen ' VERDE
CommandButton1.BackColor = vbBlack ' NEGRO
'
CommandButton1.BackColor = &H0000FFFF& 'AMARILLO COGIDO DE LA PROPIEDAD
End Sub

De la propiedad backcolor puedes obtener más colores

Me comentas saludos!

Adriel gracias por tu respuesta, pero tengo un problema al copiar la macro solo me aparece el command button amarillo y no me cambia de colores al hacer click

Private Sub CommandButton1_Click()
CommandButton1.BackColor = vbGreen ' VERDE
End Sub

Te puse varios ejemplos en un button tiene que probar una por una 

También cambia el nombre del CommanButton1 por la tuya.

Ok yo quería saber si el mismo botón a medida que lo clickeo cambia de distintos colores... ¿eso se puede hacer? ¿Tener la opción de que se ese botón cambie de un color a otro?

Entonces usa esto

CommandButton1.BackColor = Rnd * RGB(200, 160, 27)

Buenísimo ahí me funciono ! Y la ultima ¿cómo puedo agregarle un texto a cada color? Por ejemplo que cuando clickeo y me aparece verde diga una palabra, cuando aparece en rojo diga otra palabra, ¿y así con cada color?

¿Cuántas palabras serán?

tienen que ser cuatro colores con sus respectivas palabras

Seria así: color verde con la palabra libre - color rojo con la palabra ocupada - color naranja con la palabra pendiente de cobro - color azul con la palabra limpiando

H o l a:

Con lo anterior no se puede controlar que color será el siguiente, entonces hazlo así

Private Sub CommandButton1_Click()
cmd = CommandButton1.BackColor
If cmd = vbBlue Then
    CommandButton1.Caption = "hola1"
    CommandButton1.BackColor = &HFFFF&
ElseIf cmd = &HFFFF& Then
'
    CommandButton1.Caption = "hola2"
    CommandButton1.BackColor = vbRed
ElseIf cmd = vbRed Then
'
    CommandButton1.Caption = "hola3"
    CommandButton1.BackColor = vbGreen
ElseIf cmd = vbGreen Then
'
    CommandButton1.Caption = "hola4"
    CommandButton1.BackColor = &H80FF&
End If
End Sub
Private Sub UserForm_Initialize()
CommandButton1.BackColor = vbBlue
CommandButton1.Caption = "Hola"
End Sub

Te anexo el archivo 

https://www.dropbox.com/s/yy7eqy90zc91u9i/COLORES.xlsm?dl=0 

Si te sirve por favor valora para finalizar saludos!

Impresionante ! Lo único que me falta es que cuando uno clickea el botón y cambia los colores pueda volver al primero, que sea que pueda dar todas las vueltas que quiera con los colores, que no se termine en el ultimo color

Cambia por esto

Private Sub CommandButton1_Click()
cmd = CommandButton1.BackColor
If cmd = vbBlue Then
    CommandButton1.Caption = "hola1"
    CommandButton1.BackColor = &HFFFF&
ElseIf cmd = &HFFFF& Then
'
    CommandButton1.Caption = "hola2"
    CommandButton1.BackColor = vbRed
ElseIf cmd = vbRed Then
'
    CommandButton1.Caption = "hola3"
    CommandButton1.BackColor = vbGreen
ElseIf cmd = vbGreen Then
'
    CommandButton1.Caption = "hola4"
    CommandButton1.BackColor = &H80FF&
ElseIf cmd = &H80FF& Then
    CommandButton1.BackColor = vbBlue
End If
End Sub
Private Sub UserForm_Initialize()
CommandButton1.BackColor = vbBlue
CommandButton1.Caption = "Hola"
End Sub

No olvides de valorar como Excelente o Bueno que esta en la parte inferior

¡Gracias! excelente

¿Puedes cambiar la valoración de bueno a Excelente?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas