Avatar billede jaymaster Praktikant
28. februar 2017 - 19:52 Der er 10 kommentarer

Hvordan vises billede hyperlink i en excel celle

Hej,

Jeg har et regneark med en kollone med en masse hyperlinks til forskellige billeder. I dag står der kun stien til billederne i cellerne fx. c:\billeder\vare1.jpg, c:\\billeder\vare2.jpg etc..

Det jeg ønkser er den viser billede af varen i cellen automatisk og ikke linket eller stien til billede.

Hvordan gør man dette og er det overhovedet muligt?

/jaymaster
Avatar billede CRKrogh Ekspert
28. februar 2017 - 20:30 #1
Du kan sagtens trækkke-og-slippe alle billederne over i arket og efterfølgende gøre billedet til et link med samme indhold, som du ser nu, men det er ret omstændigt.
Avatar billede excelent Ekspert
28. februar 2017 - 21:26 #2
Du kunne også indsætte billederne i en kommentar
Avatar billede vegaz Juniormester
28. februar 2017 - 21:49 #3
Brug denne VBA kode :-) Du kan selv ændre værdierne og kolonnen den kigger i. Jeg har sat den til at hyperlinks er i kolonne A og at billedet bliver indsat i kolonne B.
Option Explicit

Sub InsertPictures()
    Dim i As Long, v As String, LastRow As Long
   
    On Error Resume Next
   
    LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        ' Loop Through links
        For i = 2 To LastRow
            ' Column with hyperlinks
            v = Cells(i, "A").Value
           
            ' Exit procedure if no hyperlink exists
            If v = "" Then Exit Sub
           
            ' Insert picture
            With ActiveSheet.Pictures.Insert(v)
                ' Resize picture
                With .ShapeRange
                    .LockAspectRatio = msoTrue
                    .Width = 30
                    .Height = 15
                End With
                ' Move picture
                .Left = ActiveSheet.Cells(i, 2).Left
                .Top = ActiveSheet.Cells(i, 2).Top
                .Placement = 1
                .PrintObject = True
            End With
        Next i
    On Error GoTo 0
End Sub
Avatar billede jaymaster Praktikant
28. februar 2017 - 22:29 #4
Jeg tror lige jeg må konkretisere noget mere for umiddelbart syntes jeg ikke nogen af løsningerne vil virke. :-(

Jeg importerer Odata fra et crm system der indeholder en del data inkl. billeder. Når det vises i excel er det kun hyperlinket på billede der dukker frem i en af kolonnerne. Billede er lagret et sted på sharepoint som har connection til CRM systemet.

Så hvis jeg selv skal indsætte billederne manuelt ved siden af hyperlinket så bliver det meget omstændigt da det er forskellige billeder afhængig af segmentering og det er min. 200 billeder af gangen.

Så det jeg ønsker det er at kolonnen vi trækker ud af CRM systemet med hyperlinket viser os billedet i stedet for en sti.

Håber det giver lidt mere at arbejde ud fra og undskyld hvis jeg er dårlig til at forklare mig selv.
Avatar billede jens48 Ekspert
01. marts 2017 - 00:18 #5
Er det ikke blot sådan en lille makro du har brug for?

Sub hentBillede()
Cells(5, 5).Select 'bestemmer hvor billedet skal indsættes
    ActiveSheet.Pictures.Delete ' sletter det gamle billede
ActiveSheet.Pictures.Insert("D:\test\" & Cells(1, 5) & ".jpg").Select ' indsætter billedet. Navn på billede taget fra celle E1
Selection.ShapeRange.LockAspectRatio = msoTrue 'bibeholder forholdet mellem højde og bredde på billedet
    Selection.ShapeRange.Height = 150 'justeres så billedet får den rigtige størrelse
    Cells(1, 1).Select
End Sub
Avatar billede Slettet bruger
01. marts 2017 - 03:33 #6
det du vil er ikke noget man laver med et regneark...!

du bør istedet have det hele i en database, og du er nød til at have en kopi af alle billederne.

de kan godt indsættes i databasen med automatisering, men du bliver nød til at strikke det samme selv.

hjemmefusk med VBA en tilfældig har hjulpet dig med her, er ikke vejen frem.
hvis du har 1000+ varer og deres billeder, bør du gøre som alle andre: smide dem i en database!

? (

hvis du bare viser nogle billeder, som ligger i nettet, jo det kan du, men du har ikke billederne lokalt, og hvad hvis nogen ændrer/sletter i dem ?

når du kopierer dem, ja så ender du med at de ikke længere har en URL.

DERFOR, fortsæt hvorfra du kom.
CRM = DATABASE!
Avatar billede Slettet bruger
01. marts 2017 - 03:36 #7
jeg ville eksportere hele CRM databasen som kommasepareret tekst fil.
(jeg har konverteret mange mange databaser til nyt format)

så ville jeg gemme alle billeder, og her vil en kopi af hjemmeside lavet med WGET, lægge hjemmesiden ned som den er. så dermed har jeg de originale URL + filnavne.

så vil jeg herefter nøjes med at konvertere, kun det jeg skal bruge (trække ud).


sådan ville jeg gøre, og det er lykkedes over 100 gange
Avatar billede vegaz Juniormester
01. marts 2017 - 08:07 #8
Har du testet den makro jeg skrev? Du har en masse hyperlinks direkte til billeder som jeg forstår det ud fra det du skriver.
Så det jeg ønsker det er at kolonnen vi trækker ud af CRM systemet med hyperlinket viser os billedet i stedet for en sti.
Den makro indsætter billedet fra dit link, du skal blot ændre kolonnerne så det passer, da du ikke har skrevet i hvilken kolonne du har links.
Hvis du vil have at hyperlinket skal slettes og billedet skal erstatte teksten, så er det ikke så svært at skrive ind - er det sådan det skal foregå?

Du behøver ikke hente alle billederne og lave en ny database, som en anden foreslår, hvis du blot vil vise billederne fra dine links - men det kommer an på din løsning og dit behov. Hvis dine billeder ligger på dit/jeres sharepoint og er linket op til jeres CRM system, så må man også gå ud fra at I har styr på hvem der styrer billederne og hvornår billederne skal skiftes. Og hvis det bliver skiftet i CRM systemet, skal det nye billede vel også vises i Excel arket? Det giver ingen mening at vise gamle billeder i hvert fald.
Avatar billede jaymaster Praktikant
01. marts 2017 - 10:20 #9
Hej Vegaz
Enig i at det ikke er nødvendigt med en ny database da jeg allerede har et CRM sytem og billederne på sharepoint.

Det jeg ønsker er præcis det du skriver at jeg får erstattet min hyperlink tekst med billedet.

Så lad os sige at jeg har min hyperlink tekster i kolonne F hvordan vil koden så være?
Avatar billede vegaz Juniormester
01. marts 2017 - 16:54 #10
Prøv denne. Jeg har dog ikke gjort noget, så den sletter dine hyperlinks igen, den indsætter blot billedet. Det andet kan let fixes. Under Width og Height kan du ændre størrelsen på billederne, det skriver du nemlig heller ikke noget om :-)


Sub InsertPictures()
    Dim i As Long, v As String, LastRow As Long
   
    On Error Resume Next
   
    LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "F").End(xlUp).Row
        ' Loop Through links
        For i = 2 To LastRow ' Ændre 2 til den række hvor du starter med at have data, f.eks. hvis du har en header i række 1, vil du normalt have data i række 2.
            ' Column with hyperlinks
            v = Cells(i, "F").Value
           
            ' Exit procedure if no hyperlink exists
            If v = "" Then Exit Sub
           
            ' Insert picture
            With ActiveSheet.Pictures.Insert(v)
                ' Resize picture
                With .ShapeRange
                    .LockAspectRatio = msoTrue
                    .Width = 30
                    .Height = 15
                End With
                ' Move picture
                .Left = ActiveSheet.Cells(i, 6).Left
                .Top = ActiveSheet.Cells(i, 6).Top
                .Placement = 1
                .PrintObject = True
            End With
        Next i
    On Error GoTo 0
End Sub
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

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