Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Excel - MACRO PARA INSERTAR IMAGENES

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

MACRO PARA INSERTAR IMAGENES

Autor:Gabriela Rangel  (2 intervenciones)
Fecha:04/05/2010 23:19:57
Hola a todos.

Necesito de su ayuda... Trabajo en base a catalogos de articulos en libros de excel, las imagenes las tengo en una sola carpeta, son formato .jpg, necesito una macro que me relacione el codigo del articulo con la imagen y me inserte la imagen que corresponda al articulo en la fila que se encuentra, y se adapte al tamaño de la celda.

Ya encontre algunas macros, pero solo me sirven para insertar una imagen poniendole el nombre de la misma, siendo que mas bien lo que necesito es que me inserte todas las imagenes que correspondan con los codigos.

Jeje... no se si me explique, agradezco sus comentarios.

Saludos.

Gracias por su apoyo
Responder
información
Otras secciones de LWP con contenido similar...
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:MACRO PARA INSERTAR IMAGENES

Autor:JuanC (988 intervenciones)
Fecha:05/05/2010 23:39:54
pienso que cada imagen debería tener por nombre el código del articulo
y de esa manera crear el vínculo
algo más interesante es usar la técnica de la esteganografía, de esa manera
el código va dentro de la imagen sin modificarla y fácil para encontrar, eso sí,
el código se pierde si la imagen es modificada/editada...
también sería interesante ver lo que tenés...

Saludos, desde Baires, JuanC
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:MACRO PARA INSERTAR IMAGENES

Autor:Gabriela Rangel  (2 intervenciones)
Fecha:07/05/2010 00:29:08
Si Juan, asi es... la imagen tiene el mismo nombre que el codigo, pero como en el listado de excel son bastantes codigos, necesito que me inserte todas las imagenes segun el codigo correspondiente a la lista.

No se si me explique... Sorry por las molestias..

Gracias
Comentar
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:MACRO PARA INSERTAR IMAGENES

Autor:JuanC (988 intervenciones)
Fecha:07/05/2010 00:48:48
No es molestia...
hay varias formas de hacerlo, dependerá de cómo tengas organizados los códigos y cómo quieras mostrar las imágenes...
este pequeño código muestra una imagen por vez,
la imagen mostrada es la que corresponde al valor de la celda
seleccionada
para probrarlo insertá una imagen en la hoja y nombrala "Foto"
en las celdas deben ir las rutas de las fotos a ser mostradas

Ej: si en la celda A1 dice C:\imgs\foto1.jpg
entonces mostrará la foto1, así con cualquier celda/foto

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Dir(Target.Value) = "" Or Err <> 0 Then
ActiveSheet.Shapes("Foto").Delete
Exit Sub
End If
Dim f As Object
Application.ScreenUpdating = False
With ActiveSheet
.Shapes("Foto").Delete
Set f = .Pictures.Insert(Target.Value) '//Target.Value contiene C:\imgs\foto1.jpg
With f '//Dimensiones de la foto
.Name = "Foto"
.Left = Target.Left + Target.Width
.Top = Target.Top
.Width = 100
.Height = 100
End With
End With
Set f = Nothing
Application.ScreenUpdating = True
End Sub

si querés mostrar varias fotos simultáneamente podés crear un array
y trabajar con bucles For Each ... In en lugar del evento SelectionChange
por otro lado vinculás los códigos con las celdas que tienen el
nombre de la imagen, usando la función BuscarV, por ejemplo...
en fin, hay muchas posibilidades...

Saludos, desde Baires, JuanC
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:MACRO PARA INSERTAR IMAGENES

Autor:JesJones (1 intervención)
Fecha:06/10/2010 01:35:49
Hola buen dia, quisiera q me ayudaran con una macro, Quiero que en cada celda q selecciones aparesca una imagen

C:10 D:10(IMAGEN)
C:11 D:11(IMAGEN)
C:12 D:12(IMAGEN)
C:13 D:13(IMAGEN)

Private Sub SelectionChange(ByVal Target As Range)
'Si ha errores, que continúe
On Error Resume Next

'Si cambiamos el dato de la celda C4,
'mostramos la foto de ese vehículo
If Target.Cells = Range("C10") Then
'If Target.Cells = Range("C11") Then
'If Target.Cells = Range("C12") Then
'If Target.Cells = Range("C13") Then
'If Target.Cells = Range("C14") Then
'If Target.Cells = Range("C15") Then

'Ocultamos el procedimiento
Application.ScreenUpdating = False


'pasamos a una variable, el nombre de la foto,
'que será el mismo que el nombre del coche, pero
'separado con guiones, y sin acentos, para que
'todos los usuarios puedan verlo correctamente
foto = Range("C10").Value
'foto = Range("C11").Value
'foto = Range("C12").Value
'foto = Range("C13").Value
'foto = Range("C14").Value
'foto = Range("C15").Value

'en la foto, reemplazamos los espacios, por guiones
foto = Replace(foto, " ", "-")

'ahora le añadimos la extensión "jpg"
foto = foto & ".jpg"
'ahora buscamos la foto en el mismo directorio
'donde tenemos este fichero de excel
rutayarchivo = ActiveWorkbook.Path & "\" & foto
'borramos la foto del coche (si hubiera alguna)
Me.Shapes("ImagCav").Delete
'creamos el objeto fotografia, con la foto insertada
Set fotografia = Me.Pictures.Insert(rutayarchivo)

'haremos que la foto ocupe desde B6 hasta D21,
'para que no salgan fotos supergrandes, o
'superpequeñas, y salgan más "normalitas"
With Range("E10")
'With Range("E11")
'With Range("E12")
'With Range("E13")
'With Range("E14")
'With Range("E15")

Arriba = .Top
'Izquierda = .Left
Izquierda = .Left
'Ancho = .Offset(0, .Columns.Count).Left - .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
'le ponemos un nombre al objeto "fotografia"
'para poder borrarla cuando cambie la celda D6
'(ver que borramos la foto que hubiese, antes de insertar la nueva)
With fotografia
.Name = "imagCav"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
'eliminamos el objeto
Set fotografia = Nothing
'ponemos todo como estaba
Application.ScreenUpdating = True

End If

End Sub

Gracias por la ayuda q me puedan dar!
Saludos
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:MACRO PARA INSERTAR IMAGENES

Autor:Juan Antonio Correa (6 intervenciones)
Fecha:02/12/2010 15:33:31
Perdona que utilice este correo de respuesta a tu cuestión como una pregunta a mis dudas.
He observado tu código y me sería muy útil para una aplicación de listas de alumnos, pero me gustaría que en lugar de que todas las fotos tuviesen que estar necesariamente en la misma carpeta del archivo del programa (como en tu programa (rutayarchivo = ActiveWorkbook.Path & "\" & foto), pudiesen estar en una subcarpeta.
Si la subcarpeta se llamase fotos1º ¿Me podrías indicar qué habría que modificar de la línea de código para esto?

¿¿¿ rutayarchivo = ActiveWorkbook.Path & "\" & foto ???

He probado con varias posibilidades y en todas me encuentro errores.

Muchísimas gracias por tu atención y por tu trabajo. Un saludo.
Comentar