Mostrar grafico tipo JPG segun valor de celda

06/11/2003 - 00:52 por MAD | Informe spam
El problema es que no tengo los mensajes anteriores al 29/10
Solo quiero que me digan si se puede hacer y al menos una pista, ya me
recorri toda la ayuda del excel y no aparece nada
La idea es simple: si en una celda pongo un 1 quiero que me aparezca una
imagen (tipo jpg) al lado, si pongo
un 2 que me aparezca otra imagen . Seleccionando un grafico incrustado pude
ver una función llamada INCRUSTAR, pero
al buscarla en la ayuda no aparece documentada
en fin...alguna idea????
 

Leer las respuestas

#1 Héctor Miguel
06/11/2003 - 03:13 | Informe spam
Hola, Pablo !

... no tengo los mensajes anteriores al 29/10



==> [si usas outlook express] puedes obtener mensajes 'anteriores' -me parece que 30 dias- con...
herramientas -> obtener los siguientes xxx encabezados

... si en una celda pongo un 1 quiero que me aparezca una imagen (tipo jpg) al lado
... si pongo un 2 que me aparezca otra imagen [...]



==> se necesitara una 'tabla de busqueda' [segun el numero] con la 'ubicacion' de los archivos jpg
que 'incluya' directorio/s + nombre_archivo + la EXTension [inclusive pudiera 'estar' en otra hoja]
y el procedimiento seria 'algo' +/- como lo siguiente:
1.- en la hoja donde 'pones' los numeros, agrega en una celda contigüa la 'ruta a la foto' [p.e.]
suponiendo que en la 'celda contigua' al numero haces un BuscarV para la foto:
'cambias' el numero en la celda 'B7'
la ruta a la foto en la celda 'contigua' [C7] con la formula =BuscarV(B7,HojaConFotos!A2:B25,2)
y quieres que la foto se 'ajuste dentro' del rango 'C8:E21' ...
2.- copia el siguiente codigo en el modulo de eventos de 'la hoja':
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$B$7" Then Exit Sub
Dim Foto As Object, Arriba As Double, Izquierda As Double, Ancho As Double, Alto As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
If Dir(Range("c7")) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(Range("c7"))
With Range("c8:e21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub

Saludos,
Héctor.

Preguntas similares