Algún programa para abrir fotos externas desde base de datos de excel.

Estado
Cerrado para nuevas respuestas.

umontes

Nuevo Miembro
Miembro
Hola! No veo ningún tema similar, lo siento si es así. El caso es que tengo una lista enorme en excel de códigos, cada uno de los cuales es una foto en una carpeta externa. No se mucho de macros, alguien sabe de algún programa con el que metiendo el código se abra directamente su foto correspondiente sin tener que busarla entre miles?

Gracias!

=================================================

Respuesta:

En hojas que manejan bases de datos de personal o de inventarios se requiere incluir una foto con la descripción o la información. En esta entrada veremos como insertarla. El formato depende de ti.

1. Se crea una carpeta con el nombre “fotos” dentro de la carpeta donde crearemos esta hoja de Excel. En ella guardamos las imágenes, de preferencia con clave

i1.png

2. Hay que crear una hoja de datos. Para este ejemplo usaré la hoja 2 de un libro nuevo

3. En la columna A escribo mi lista de nombres y en la B los nombres de los archivos de las fotos

4. A los datos de la columna A (A2:A4) les cambio su denominación a “nombres” para mi lista de validación

i4.jpg

5. Al rango de A2:B4 le cambio su denominación a “datos” para la fórmula de búsqueda

i5.jpg

6. En la hoja 1 se pone en A2 el título “Nombre”, B2 el título “Clave” y a C2 el título “Foto”

7. En A3 creo una lista desplegable. Para ello voy a Datos – Validación de datos y cambio la configuración a Lista y llamo a “nombres”

i2.png

8. En B3 se pone la siguiente fórmula: Nota. Cambiar la fórmula por consultav si no funciona el buscarv por las versiones
Código:
=buscarv(A2,datos,2,FALSO)

i3.png

9. Entrar a Programador e introducir este macro. Es importante señalar que este tipo Worksheet_Change reconoce cualquier cambio que ocurra en la hoja. Hay que grabarlo en la hoja1 (donde se utilizará) y se maneja como Private

i6.jpg

Código:
Private Sub Worksheet_Change(ByVal Target As Range)

‘ Trae una imagen de acuerdo al valor de una celda

On Error Resume Next                ‘ Si ocurre un error sale del macro

If Target.Cells = Range(“A3”) Then  ‘ Si hay cambio en el valor que se encuentra en A3

foto = Range(“B3”).Value        ‘ Trae el nombre del archivo que está en B3

Application.ScreenUpdating = False  ‘No actualiza la pantalla

ruta = ActiveWorkbook.Path & “\fotos\” & foto   ‘ Carpeta donde se encuentran las fotos (es donde está guardada la hoja y dentro la carpeta fotos)

Me.Shapes(“fotoanterior”).Delete        ‘ Borra la foto anterior

Range(“C3”).Select  ‘ Celda donde se colocará la fotografía

Me.Pictures.Insert(ruta).Select ‘ Inserta la imagen

With Selection

.Name = “fotoanterior”  ‘ Le da un nombre para borrarlo si se vuelve a cambiar

.Placement = xlMoveAndSize  ‘ Lugar y posición

.PrintObject = True         ‘ Impresión

.ShapeRange.LockAspectRatio = msoFalse  ‘ Modificación proporcional de la imagen

.ShapeRange.Height = 85#    ‘ Alto  en pixeles

.ShapeRange.Width = 65#     ‘ Ancho en pixeles

.ShapeRange.Rotation = 0#   ‘ Angulo de rotación

End With

Application.ScreenUpdating = True   ‘Actualiza la pantalla

End If

End Sub

10. Guardar la hoja habilitada para macros

11. Cada vez que se cambie el nombre la fotografía que corresponde se coloca automáticamente en C3
 
Estado
Cerrado para nuevas respuestas.
Arriba Pie