Avatar billede rosenhoej Nybegynder
10. december 2008 - 14:21 Der er 3 kommentarer

Macro til indsætning af billeder

Jeg sidder med et problem/spørgsmål.

Jeg ville gerne have en mulighed for at importere en udefineret mængde billeder til excel, og automatisk resize, dette skulle gerne ske til nogle forud definerede celler, og der skulle gerne være mulighed for at importere filnavn + fildato også.

Kan dette på nogen måde lade sig gøre, og er der nogen der på menneskesprog kan forklare hvordan man gør?

Håber på hjælp.

Venlig hilsen

Allan
Avatar billede lerskov Praktikant
16. januar 2009 - 22:11 #1
har lavet noget ligende før, men jeg ser lidt et problem i at du vil have et antal udefineret mængde billeder og placere dem i nogle definerede celler ???

man kan god få filnavnet med ind i det.
Avatar billede lerskov Praktikant
16. januar 2009 - 23:19 #2
Public Sub indsæt_billeder()

Dim sti As String, No As Long, fil() As Variant

Application.ScreenUpdating = True
bredde = 150                            'bredde på billede
højde = 100                            'højde på billede
With ActiveSheet
    With .Rows
    .RowHeight = højde
    .VerticalAlignment = xlCenter
    .HorizontalAlignment = xlLeft
    End With
.Columns.AutoFit
.Pictures.Delete
Sheets("ark1").Range("a:A").Clear
End With
startposx = Range("A:a").Width
startposy = 5

sti = "c:\"                                    'indsæt sit navnet du vil hente fra

If Right(sti, 1) <> "\" Then sti = sti & "\"
    ReDim Preserve fil(No)
    fil(No) = Dir(sti & "*.*")                    ' Hent den første filnavn.
    Do While fil(No) <> ""                          ' Start løkken
        If fil(No) <> "." And fil(No) <> ".." Then
            No = No + 1
            ReDim Preserve fil(No)
        End If
        fil(No) = Dir                                  ' Hent næste filnavn.
    Loop
    No = No - 1
Range("A1:A" & UBound(fil) + 1) = Application.WorksheetFunction.Transpose(fil)

sidste = Worksheets("Ark1").Range("A65536").End(xlUp).Row

For i = 1 To sidste
    file = Sheets("ark1").Range("a" & i)
    Worksheets("Ark1").Shapes.AddPicture sti & file, _
    True, True, startposx, startposy, bredde, højde - 10
    On Error Resume Next
    startposy = startposy + højde
    file = ""
Next i
Application.ScreenUpdating = False
   
End Sub
Avatar billede Marlene Husum Praktikant
12. juni 2020 - 18:20 #3
Hej Lerskov!

Jeg har nu testet din macro og for mig virker den næsten som mit behov er.
Dog har jeg brug for at kunne sætte billeder ind i kolonne A fra et nummer/style i kolonne B med et selvfølgelig nøjagtigt match.
Jeg ønsker ikke macro´en sætter filnavn efter 123456789.png - altså png efter mit stylenummer.
Hvordan kan jeg løse den del?
Samtidig lander billedet i kolonne B, den vil jeg gerne have i A, altså omvendt af denne kodning.
Hvis jeg har mellem 5000 og 10000 billeder, skal de da alle defineres i kodningen?
Jeg er med på at indsætte stien, men jeg kan ikke helt forstå de næste 3 punkter - hvor der skal indsættes og du har kommenteret - hvordan skal det forstås?

På forhånd mange tak
-Marlene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester