Pregunta para Luismondelo

Cordial saludo profesor,

tengo la siguiente situación:


Estoy construyendo una base de datos en Excel; necesito que cuando ingrese el número de cédula del empleado en la columna A, en la columna "C" de la misma fila aparezca la foto de esta persona. Las fotos se encuentran compiladas en una misma carpeta

Agradezco la ayuda que pueda brindarme.

con admiración

JOHN SALGADO

[email protected]

1 Respuesta

Respuesta
1

En el siguiente enlace te dejo un vídeo para explicarte como hacerlo

http://share.cx.com/8NNvzg

No olvides finalizar la consulta

buenos días profe.

Apliqué los pasos pero al hacer las pruebas me resultaron las siguientes fallas:

1. la foto no se ajusta al ancho de la celda (necesito que se ajuste a 4cm de alto por 3 de ancho)

2. si copio varios números de identificación al ejecutar control+v no aparecen las fotos

3. cuando borro el número de identificación no se borra automáticamente la foto.

Agradezco su colaboración.

JOHN SALGADO

Aclaraciones:

1-Para ajustar el ancho de la imagen con la celda tienes que jugar con el alto y ancho de ambas cosas. El height y el width

2-La macro está preparada para TECLEAR un código en la columna A y te aparecerá en la columna C, con con control v. En tu pregunta decías que ibas a "ingresar" un código...

3-Con esta nueva macro que te adjunto se solucionan los problemas. Ahora cuando TECLEES un código en la columna A te pondrá su imagen en la columna C y cuando borres alguno, te eliminará la imagen. Recuerda que es un evento por lo que no puede ir dentro de un módulo, sino en el objeto hoja que estamos tratando.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
ActiveSheet.Pictures.Delete
Range("a65000").End(xlUp).Offset(1, 0).Value = "fin"
Range("a1").Select
Do While ActiveCell.Value <> "fin"
If ActiveCell.Value = "" Then GoTo salto
foto = ActiveCell.Value
tope = ActiveCell.Offset(0, 2).Top
izq = ActiveCell.Offset(0, 2).Left
ActiveSheet.Pictures.Insert("C:\Users\Luis\Documents\curso de excel\fotos\" & foto & ".jpg").Select
Selection.ShapeRange.Top = tope
Selection.ShapeRange.Left = izq
Selection.ShapeRange.Height = 79.5
salto:
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.ClearContents
End If
Application.EnableEvents = True
End Sub

Recuerda en la última macro que te he enviado, modificar el path de las fotos, ya que el que figura en la macro es un path de mi equipo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas