Imagenes en excel

Dependiendo del valor de una celda (positivo o negativo) quiero mostrar una imagen prediseñada para cada caso como lo hago.

1 respuesta

Respuesta
1
Perdona por el retraso, no es posible que lo haga automáticamente, o por lo menos no lo descubro, el motivo principal es que una celda no puede tener formato de imagen, de ser así bastaría con crear una función que nos devolviera el valor(imagen)
Después de muchas pruebas con macros y funciones, no consigo que la foto se active sola, ni que ningún activex recoja la foto en su sitio ademas de tener que activarlo manualmente para que ejecute la macro
después de cuatro días enredando (estoy aprendiendo vb y me engancha), he decidido pasar de las funciones y crear una serie de macros que se activen a través de la propia foto
Haz lo siguiente:
Celda a1, recoge un valor pues o neg
Inserta una imagen, sin importarte donde ni su tamaño
selecciona la imagen y en la barra de fórmulas (a la izquierda), selecciona el nombre que se le ha asignado a la imagen y cambialo por el de foto
activa el editor de vb y copia el siguiente código
_____________________________________________________________________
Sub imagen()
'
' imagen Macro
' Macro grabada el 14/06/2003 por jperg
a = Range("A1")
If a >= 0 Then
fotopos
Else
fotoneg
End If
End Sub
Sub borrar()
'
' borrar Macro
' Macro grabada el 14/06/2003 por jperg
ActiveSheet.Shapes("foto").Select
Selection.Delete
Range("A2").Select
End Sub
Sub fotopos()
'
' fotopos Macro
' Macro grabada el 14/06/2003 por jperg
borrar
Range("A2").Select
ActiveSheet.Pictures.Insert("D:\caratulas\Bob_Dylan_-_Street_Legal-front.jpeg") _
.Select
formato
End Sub
Sub fotoneg()
'
' fotoneg Macro
' Macro grabada el 14/06/2003 por jperg
borrar
Range("A2").Select
ActiveSheet.Pictures.Insert("D:\caratulas\Bob_Dylan_-_Street_Legal-back.jpeg") _
.Select
formato
End Sub
Sub formato()
'
' formato Macro
' Macro grabada el 14/06/2003 por jperg
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Height = 57
Selection.ShapeRange.Width = 58.5
Selection.Name = "foto"
asignar
Range("A1").Select
End Sub
Sub asignar()
'
' asignar Macro
' Macro grabada el 15/06/2003 por jperg
'
ActiveSheet.Shapes("foto").Select
Selection.OnAction = "imagen"
End Sub
_________________________________________________________________
Selecciona la imagen y con el menu contextual - asignar macro - elige imagen(1)
Funcionamiento:
Se introduce un valor en la celda a1 y posteriormente se ejecuta la macro imagen(dedo encima de la foto) y esta evalúa el valor de la celda a1- si es positivo va a la macro fotopos, si el valor de la celda es negativo va a la macro fotoneg, (modifica el fichero en el editor de vb para ver un fichero que tengas en alguna unidad)
La macro fotopos y la macro fotoneg comienzan por ir a la macro borrar para quitar la foto anterior y después pone la foto nueva, y por ultimo van a la macro formato para decirle el tamaño definitivo y su ubicación en la celda a2, también he creado una macro que le asigna automáticamente a la foto la macro que antes pusiste(1)
Se acabo, si tienes alguna duda más, no dudes en decírmelo, ha sido un placer buscar un resultado a tu pregunta, posiblemente haya soluciones mejores pero no he logrado ninguna mejor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas