Excel - macro para poner automáticamente desde una carpeta una serie de fotos?

 
Vista:
sin imagen de perfil
Val: 14
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por david (5 intervenciones) el 14/11/2020 18:23:49
Hola a todos!

Necesito para un listado de productos automatizar la inserción de fotos.
He utilizado el buscarv para volcar los datos desde un supuesto listado de productos pero no tengo la mínima idea de automatizar la inserción de fotos.
Me podéis echar un cable?
Os subo el excel para que veáis lo que os comento.

Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de wordexperto.com
Val: 6.373
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por wordexperto.com (2803 intervenciones) el 15/11/2020 13:11:30
Hola David:
Aunque también se podrá hacer con Excel, es posible que otro compañero del foro te de la solución, esto es trabajo para Word: https://wordexperto.com/2017/01/03/insertar-imagenes-en-combinacion-de-correspondencia/

P.D.: No uses Combinar y centrar porque rompes la estructura tabular de Excel. La alineación horizontal: Centrar en la selección consigue el mismo resultado sin romperla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por Antoni Masana (2478 intervenciones) el 16/11/2020 08:54:02
Realice algo padecido para otro compañero del foro, deja que lo busque y te lo paso.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por david (5 intervenciones) el 16/11/2020 09:25:11
Gracias Antoni!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por Antoni Masana (2478 intervenciones) el 16/11/2020 11:56:07
Te voy a pasar un código para poner una imagen en la columna A y tenia varias filas predeterminadas, si se ponía la imagen en la fila 1 tomaba de la fila 1 a la 6 y una sola columna.

En tu caso al código le falta un parámetro:
- Directorio de la imagen.
- Nombre de la imagen.
- Primera fila
- Primera columna (Este es el que falta)

Te pongo un ejemplo de los parámetros 3 y 4 de las 4 primeras imágenes

1
2
3
4
Poner_Imagen_Fotogra("C:\Imagenes"; "Foto-1";  1; 1)
Poner_Imagen_Fotogra("C:\Imagenes"; "Foto-2";  1; 6)
Poner_Imagen_Fotogra("C:\Imagenes"; "Foto-3"; 17; 1)
Poner_Imagen_Fotogra("C:\Imagenes"; "Foto-4"; 17; 6)

Tendrás que modificar el código para que tenga en cuenta el parámetro de columna y se ajuste al número de celdas de ancho y alto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Sub Poner_Imagen_Fotogra(Direc_Foto, Codigo, Fila)
    Dim File_JPG As String, File_Alto As Single, File As String, _
        File_PNG As String, File_Anch As Single
 
    Dim Celda_Alto As Single, Celda_Anch As Single, Porcen As Single, _
        Celda_Supe As Single, Celda_Izqu As Single, a As Byte
 
    Dim Ini As Single, _
        Fin As Single
 
    Application.StatusBar = "Coloca imagen 1 del articulo " & Codigo
 
    ' </> ---&--- Seleccion de la imagen
 
    File_JPG = Direc_Foto & Codigo & ".jpg"
    File_PNG = Direc_Foto & Codigo & ".png": File = ""
 
    If Dir(File_JPG) <> "" Then File = File_JPG
    If Dir(File_PNG) <> "" Then File = File_PNG
 
    ' </> ---&--- Posicion de la imagen
 
    If File <> "" Then
        Ini = Fila + 0: Celda_Supe = Cells(Ini, 1).Top + 3
        Fin = Fila + 5: Celda_Izqu = Cells(Ini, 1).Left + 3
                        Celda_Anch = Cells(Ini, 1).Width - 8
        Celda_Alto = 0
        For a = 0 To 5
            Celda_Alto = Celda_Alto + Cells(Fila + a, 1).Height
        Next
        Celda_Alto = Celda_Alto - 6
 
        ActiveSheet.Pictures.Insert(File).Select
 
        With Selection.ShapeRange
            File_Alto = .Height
            File_Anch = .Width
 
            If File_Alto > File_Anch Then '-----------------------------------
                Porcen = File_Alto / File_Anch
                .Height = Celda_Alto
                .Width = Celda_Alto / Porcen
                File_Anch = .Width
                .Top = Celda_Supe
                .Left = Celda_Izqu + (Celda_Anch - File_Anch) / 2
            Else ' -----------------------------------------------------------
                Porcen = File_Anch / File_Alto
                .Width = Celda_Anch
                .Height = Celda_Anch / Porcen
                If .Height > Celda_Alto Then
                    Porcen = File_Alto / File_Anch
                    .Height = Celda_Alto
                    .Width = Celda_Alto / Porcen
                    File_Anch = .Width
                    .Top = Celda_Supe
                    .Left = Celda_Izqu + (Celda_Anch - File_Anch) / 2
                Else
                    File_Alto = .Height
                    .Top = Celda_Supe + (Celda_Alto - File_Alto) / 2
                    .Left = Celda_Izqu
                End If
            End If '----------------------------------------------------------
        End With
 
        ' ---&--- Pongo nombre al objeto: Texto + Código
 
        Selection.ShapeRange.Name = "IMAGEN_A_" & Codigo
    End If
End Sub

Dale un vistazo y si tienes problemas para adaptarlo, cuéntame y te ayudo.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por david (5 intervenciones) el 16/11/2020 17:39:48
Hola de nuevo Antoni,

Se podría automatizar que en ese grupo de celdas ponga la foto de una ruta especifica con el código del producto??
Me explico: En la fila 12 están los códigos de los dos primeros productos "1" > PATATAS 2KG" y "13" > PIMIENTO VERDE".
Lo que necesito es que busque en la carpeta una imagen llamada "1.jpg" y la ponga en el grupo de celda y filas que he combinado ( no se si es posible)
Como el BUSCARV que he usado para volcar datos de una hoja a la otra pero esta vez con las fotos.
Igual con Activex es mejor?
No se si me explico bien.

Ya me dirás
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por Antoni Masana (2478 intervenciones) el 16/11/2020 21:19:04
No hay ninguna formula que te busque una imagen en una carpeta, la centre en un rango de celdas y la centre.
Necesitas una macro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por david (5 intervenciones) el 17/11/2020 08:24:15
Buenos días Antoni,

Me podrías ayudar con la macro?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por Antoni Masana (2478 intervenciones) el 17/11/2020 14:23:55
La macro se puede ejecutar de dos formas:

- Manual - Cuando terminas de rellenar las celdas con los números de productos ejecutarla.
- Automática - Cada vez que pones un código de producto busque la imagen.

Necesito:
- Un libro con el formato exacto done se han de poner las imágenes
- Unas cuantas imágenes, supongo que debes tener cientos de productos, con una docena me apaño.
- Donde se deben buscar las imágenes (Esto se puede poner en una hoja y no en el código, es más fácil de cambiar).

Las imágenes deben ser variadas en su formato, no es lo mismo una foto de una botella que el de una barra de pan y la de un paquete de cereales.
- La primera es rectangular y vertical.
- La segunda es rectangular y horizontal.
- La tercera es cuadrada más o menos.

Si prefieres enviarlo a mi correo: [email protected]

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro para poner automáticamente desde una carpeta una serie de fotos?

Publicado por david (5 intervenciones) el 17/11/2020 19:12:38
Gracias Antoni!

Te lo mando ahora mismo.

Muchísimas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar