¿Catalogo insertando en excel fotos desde carpeta?

He de hacer un catalogo para mi pequeña empresa. Se que tengo que hacerlo con excel (donde tengo mi listado) y con macros, para vincular el excel y los nombres de las fotos.

Soy usuario de excel, pero no tengo idea de Visual basic y parecidos.

Tengo un excel con un listado de productos, sus códigos, precios, etc..

Por otro lado una carpeta con algunas fotos (hay productos que tienen fotos, y otros no), y el nombre es su código ean, o parte, o código ean con alguna descripción ((80xxx, guisantes medio kg)).

Lo que querría es, en cada familia, pues que me salieran al lado las fotos, llamándolas por el nombre del archivo, que es, como he dicho, el ean, o parte del ean, o el ean con alguna indicación.

El listado seria así:

Cod descripción unid/caja  precio ean

Familia Huevos

23 huevos docena 12 0.15 xxxxx

36 huevos talla m 12 1.15 xxxxx

Espero explicarme.

Y que salieran las fotos a la derecha, las que tuvieran.

Hay familias que tienen 3 productos, otras 10, etc... Ya seria hacer un tamaño standard para que cupieran.

No se si lo que pido es una barbaridad. Si fuera así, me disculpo y me lo decís.

1 Respuesta

Respuesta
1

Envíame tu archivo de excel, con un par de archivos de las imágenes que tienes.

En tu archivo de excel pon como ejemplo, esas 2 imágenes, en dónde las quieres y de qué tamaño las quieres.

En alguna parte de la información, para cada producto tienes que poner cómo se llama la imagen, ejemplo:

Tienes este producto:

Familia producto unid/caja  precio ean archivo imagen

    23           huevo              12               10         xxx              huevos.jpg

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “jorge raven” y el título de esta pregunta.

¡Gracias! 

Ya te he enviado el mail

Te envío la primera parte para buscar la imágenes e insertarlas en la columna.

Sub InsertarFotos()
'Por.Dante Amor
    '
    ruta = ThisWorkbook.Path & "\"
    ChDir ruta
    '
    ActiveSheet.DrawingObjects.Delete
    Sheets("Hoja1").[A1].Copy [L1]
    Range("L:Z").ClearContents
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        If InStr(1, Cells(i, "B"), "FAMILIA") > 0 Then
            fila = i
            imagen = False
            col = 12
        End If
        If imagen = False Then
            For Each c In Range("G" & i & ":G" & i)
                '
                If c.Value <> "" Then
                    archivos = Dir("*.*")
                    Do While archivos <> ""
                        If InStr(1, archivos, c.Value) > 0 Then
                            '
                            imagen = archivos
                            If imagen <> "" Then
                                Set etiqueta = ActiveSheet.Pictures.Insert(archivos)
                                With etiqueta
                                    .ShapeRange.LockAspectRatio = msoFalse
                                    .Left = Cells(fila, "L").Left
                                    .Top = Cells(fila, "L").Top
                                    .Height = Range(Cells(fila, "L"), Cells(fila + 5, "L")).Height 'alto imagen
                                    .Width = Cells(fila, "L").Width 'ancho imagen
                                End With
                                'imgactiva = etiqueta.Name
                                Cells(fila, col) = "x"
                                col = col + 1
                                unaimagen = True
                                Exit Do
                            End If
                        End If
                        archivos = Dir()
                    Loop
                    If unaimagen Then Exit For
                End If
            Next
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "Imágenes actualizadas", vbInformation
End Sub

Saludos.Dante Amor

Buenas tardes

Dante, perdona el retraso.

Un problema en el trabajo, que me ha hecho salir del país por unos días.

Acabo de probarla, y es bastante parecido a lo que tenia pensado. Al final pude transmitrite lo que yo quería.

Lo que no se, porque no puedo leer el VISUAL BASIC, porque no entiendo nada, es si esta macro recoge los eans parciales, o que el nombre del archivo de la foto además de ean llevan un cierto texto. A simple vista, creo que faltarían fotos.

¿Me lo puedes confrimar? Por lo demás, fallos en la colocación de las fotos, etc... ya es cuestión de arreglarlo yo mismo, eso es una nimiedad.

Gracias de nuevo por perder el tiempo conmigo.

Jorge

Ah

Lo que creo, es que sólo agrega una foto por familia.

Efectivamente, solamente está agregando una foto por familia.

En el correo te envié unas explicaciones, la macro implica varias cosas, le faltan varios detalles, deberás crear una pregunta por cada uno de los detalles.

En el correo te enumeré cada una de las preguntas que deberás crear para que la macro realice todas las características que debe tener.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas