Resaltar o rellenar celdas al seleccionar una imagen del libro excel

No se exactamente si es una macro o no, estoy intentando hacer y no se si es posible que al seleccionar una imagen en una hoja del libro, se rellenen con color unas celdas determinadas o se puedan resaltar de alguna manera (intermitencia). No hay valores numéricos, se trata de una hoja que simula un cuadro de luces con imágenes (fotos) de cada interruptor y unas hojas por planta donde se sitúan todos los fluorescentes de un parking (celdas). Necesito que al seleccionar sobre una de las imagenes del "cuadro" se enciendan (coloreen celdas o poder resaltarlas) en otra hoja del mismo libro una serie de celdas (fluorescentes) y que al salir de la hoja vuelvan a quedar en blanco (como estaban). Osea vincular una imagen con una serie de celdas en otra hoja. Yo he hecho una macro donde unas celdas determinadas hacen intermitencia entre varios colores (amarilo a rojo) al ejecutarla funciona muy bien, pero al asignar la macro a la imagen no hace nada. Tambien tengo un hipervinculo de esa imagen a una celda de la linea de fluorescentes (celdas) para que me lleve a la linea que enciende. Se que es complicado, con una imagen o viendo el libro seria mas sencillo de entender.

1 Respuesta

Respuesta
1

Espero haber entendido bien.

Sigue las Instrucciones para un botón o una imagen y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: StartBlink2
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub StartBlink2()
'Por.Dam
Sheets("hoja2").Select
With Range("C1:C4").Interior
    If .ColorIndex = 5 Then ' Azul
        .ColorIndex = 3 ' Rojo
    Else
        .ColorIndex = 5 ' Azul
    End If
End With
Application.OnTime Now + TimeSerial(0, 0, 1), "StartBlink2", , True
End Sub

La macro anterior es para que pongas la imagen en la hoja1, la imagen1 se cambiará a la hoja2 y cambiará de color las celdas C1 a C4.
La siguiente macro, es para indicar que, cuando te salgas de la hoja2, se desactive el cambio de colores y regresen los colores a “sin color”.

Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(hoja2)
4. Del lado derecho copia la macro

Private Sub Worksheet_Deactivate()
'por.dam
On Error Resume Next
Application.OnTime Now + TimeSerial(0, 0, 1), "StartBlink2", , False
Sheets("Hoja2").Range("C1:C4").Interior.ColorIndex = 0
End Sub

Presiona la imagen, la macro se cambia de hoja y empiezan a cambiar de color las celdas de C1 a C4, cámbiate a otra hoja y las celdas dejarán de parpadear y regresarán a “sin color”.

Saludos. Dam
Si es lo que necesitas.

Muchísimas gracias por tu ayuda me ha ido de maravilla para entender el proceso, el problema es que tengo que repetir esa operación y crear 19 macros por cada planta (6). Para borrar las celdas rellenas en tu macro he puesto un rango que ocupa la pagina entera y asi me borra todo independientemente de la macro que use. El problema es que no finaliza la macro y se va repitiendo y no finaliza, sera por el nombre escrito "Application.OnTime Now + TimeSerial(0, 0, 1), "StartBlink2", , False. ¿por estar asociada solo a esa macro en concreto? he puesto "**" yo debo de hacer muchas, si grabo yo la macro y solo le pongo relleno, sin intermitencia, entonces va de lujo, salgo y borra.

¿Podría hacer esa misma operación de encender y apagar en el cuadro (imagen) un rango(linea de fluorescentes) mediante controles de botones activex? he visto alguno que se le puede aplicar una fotografía (ToggleButton) y parece hacer la función de encendido-apagado, no se escribir la sintaxis para objetos, guiame un poco por favor. He conseguido encender una serie de celdas pero no se como hacer, para usando el botón volver a apagarlas. De esta manera conseguiría una perfecta simulación del cuadro, pudiendo encender y apagar lineas independientes o dejarlas todas encendidas desde el cuadro. Seria asignarle a cada Interruptor (imagen) una serie de celdas y que este pueda encenderlas y apagarlas. No se si me estoy pasando pero creo que seria mas sencillo, no se soy un iniciado en excel.

Muchas gracias de nuevo. se que pido mucho.

Vamos paso a paso, tu petición original es esta: "Necesito que al seleccionar sobre una de las imágenes del "cuadro" se enciendan (coloreen celdas o poder resaltarlas) en otra hoja del mismo libro una serie de celdas (fluorescentes) y que al salir de la hoja vuelvan a quedar en blanco (como estaban). "

Y ahora estás solicitando algo diferente, con gusto te sigo ayudando, pero para entender lo que quieres, tendrías que enviarme un correo explicando con ejemplos, con imágenes y con comentarios lo que realmente necesitas.

Por favor, podrías finalizar esta pregunta y crear una nueva con lo que necesitas.

Te he mandado el excel en el correo

No me llegó tu correo, además deberás finalizar esta pegunta.

Saludos. Dam

Te he vuelto a mandar el correo a ver si te llega.

Doy por solucionada y finalizada esta pregunta y estoy muy satisfecho con el resultado obtenido, muchas gracias por todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas