Como cambiar color commandbutton vba excel si rango de celdas asignado tiene datos

.. Tengo un inconveniente que no puedo resolver y espero que ustedes puedan ayudarme a salir y a aprender un poco más sobre vba excel.

Paso a explicar y agradezco de antemano su ayuda... Tengo un botón de comando en un userform asignado a un rango de celdas al seleccionar con click el botón me muestra en un listbox la información de ese rango de celdas mi problema esta en que necesito que cuando el rango de celdas que esta asignado a ese commadbutton tenga algún contenido el el commandbuton en cuestión se pinte de algún color(rojo por ejemplo)y cuando se borren los datos de las celdas vuelva al color por defecto que tienen los commandbutton

Espero puedan ayudarme con este proyecto y vuelvo a agradecer de antemano sea cual fuere su respuesta.

Respuesta
2

[Hola

No se entiende bien ya que, además, usas termino que probablemente tú entiendas como decir "asignado". Sería mejor que coloques qué tienes en el evento Click del botón en cuestión y en qupe momento y/o cuándo quieres que cambie de color dicho botón.

Abraham Valencia

Este es el código del evento click del commandbutton

Private Sub commandbutton16_Click()
TextBox1.Text = 16
Me.ListBox1.RowSource = "MESA16!A2:E32"
End Sub

Necesito que cuando yo ponga datos en ese rango de celdas el commandbutton16, cambie de color y cuando borre los datos el color del botón de comandos del userform vuelva al color por defecto, desde ya agradezco de su ayuda y pido disculpas por no usar los términos apropiados.

Tu botón envía un rango de celdas al Listbox, pero tú mencionas que pones datos en un rango de celdas. Luego mencionas que borras los datos ¿de las celdas? ¿Del Listbox? No queda claro. Igual, como para que vayas viendo, para cambiar el color por uno, digamos, rojo:

Me.commandbutton16.BackColor = RGB (200, 29, 17)

Y su color por defecto:

Me.CommandButton16.BackColor = &H8000000F

Yo prefiero los colores con RGB, pero no estoy seguro qué escala de gris es el color por defecto, por eso te lo dejo como hexadecimal.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas