¡Gracias Prozac!
Buena propuesta, es una interesante posibilidad.
Por otro lado, aún me queda la duda de si se podrá sin usar Controles ActiveX, y es que en un principio mandaba llamar las imágenes a través de un "Image" pero la velocidad y fidelidad de las imágenes no me agradaba, no se veían claritas. Entonces, opté por no usar controles, y como te he dicho, ahora me asalta la duda de saber si se pueda.
Y es que descubrí, que una imagen en cualquier formato sea "JPEG" , "PNG", etc. VBA las llama "Shapes" y entonces pensé en si existiría alguna posibilidad en hacer una macro que ejecutara los "Shapes" cambiándoles el tamaño al posicionar el mouse o al seleccionar la imagen con el mouse.
Quiero decirte que en internet, encontré éste código que ejecuta los "Shapes" directamente sin usar controles:
Sub TamañoImagen()
Dim Imagen As Shape
For Each Imagen In ActiveSheet.Shapes
If Imagen.Name = "Casa" Then
Imagen.Height = 250
Imagen.Width = 400
Imagen.OnAction = "TamañoImagen"
End If
Next Imagen
End Sub
Dicha página decía que la propiedad "OnAction", devuelve el nombre de una macro que se ejecuta al hacer clic en el objeto especificado. Y sí, el resultado es que funciona.
Sin embargo, ahora el problema que tengo es que como yo borro la imagen, se pierde por así decirlo la referencia de la macro, y entonces si inserto nuevamente la misma imagen (con el mismo nombre "Casa") la macro no se auto ejecuta, sino que, para que la macro se vuelva a ejecutar, me tengo que ir a la ficha "Programador", al grupo "Código", dar click en el icono "Macros" y entonces ejecutar nuevamente la macro. Se que todas la macros se pueden ejecutar con un método abreviado, pero es algo que no quiero, me gustaría que la macro se auto ejecutara en cuanto seleccione la imagen. Ésto es lo que no he podido y me trae con un gran dolor de cabeza.
Entonces Prozac, ¿creés que se pueda?
Bueno, espero no exasperarte y que me halla dado a entender.
Gracias y saludos.
P. D. Te adjunto un link de descarga por si deseas echarle un vistazo al archivó que encontré. http://www.mediafire.com/view/?x9ddewqf4xite9h
Hola, funciona bien el código vba, pero la imagen no disminuye, si aumenta, pero no vuelve a su tamaño - Karlos Patron Morenilla
podéis ayudarme con el código para que la imagen vuelva a su tamaño - Karlos Patron Morenilla
Hola. Hace mucho que no ando por aquí, pero bueno te contesto. Para que la imagen vuelva a su tamaño hay que buscar un evento que nos indique que se ha salido de ella. Debería ser LostFocus, pero lo cierto es que esto no funciona. Así que la solución que se me ocurre es poner una segunda imagen debajo de la primera, ligeramente mayor que la primera cuando está aumentada y usar el evento MouseMove de la segunda para hacer que la primera vuelva a su tamaño original. En la imagen de fondo elimina los bordes, pon el color de fondo igual que el de la hoja.. para que el efecto sea lo más limpio posible. - prozac