Saltar al contenido

Imágenes según valor de celda en otra hoja


Recommended Posts

publicado

Saludos

Tengo un código VB que es el siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
'Si hay errores, que continúe
On Error Resume Next
'Si cambiamos el dato de la celda X, mostramos la foto de ese Clan
If Target.Cells = Range("E24") Then
'Ocultamos el procedimiento
Application.ScreenUpdating = False
'Pasamos a una variable, el nombre de la foto,
'que será el mismo que el nombre del Clan
imagen = Range("E24").Value
'Añadimos la extensión "png"
imagen = imagen & ".png"
'Buscamos la foto en el mismo directorio
'donde tenemos este fichero de Excel
ruta = ActiveWorkbook.Path & "\clanes\" & imagen
'Borramos la foto del Clan (si hubiera alguna)
Me.Shapes("imagen_clan").Delete
'Creamos el objeto fotografia, con la foto insertada
Set clan = Me.Pictures.Insert(ruta)
'Haremos que la foto ocupe desde X hasta X,
'para que no salgan fotos supergrandes, o
'superpequeñas, y salgan más "normalitas"
With Range("Z9:AH25")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
'Le ponemos un nombre al objeto "clan"
'para poder borrarlo cuando cambie la celda X
'(Ver que borramos la foto que hubiese, antes de insertar la nueva)
With clan
.Name = "imagen_clan"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
'Eliminamos el objeto
Set clan = Nothing
'Ponemos todo como estaba
Application.ScreenUpdating = True
End If
End Sub
[/CODE]

Lo estoy utilizando en la Hoja1 (Personaje), y funciona correctamente. Coge el valor de una celda, y según el Clan que ponga esa celda se muestra en otra parte de la hoja una imagen asociada

Lo que quiero hacer y no consigo (mayormente porque no sé cómo, ya que apenas tengo conocimientos de VB), es que ejecute lo mismo pero en una hoja diferente. Me explico. Que analice el valor de la celda donde se muestra el Clan, pero que la imagen la ponga en otra hoja diferente, por ejemplo en Hoja4 (Disciplinas). ¿Se puede hacer eso?

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.