Avatar billede Nanarsi Mester
19. januar 2026 - 23:00 Der er 11 kommentarer og
1 løsning

Hyperlink til tekst

Jeg har en liste i Excel med links til vare.
Linksne bliver kun vist med varenavn (f.eks. "3m_Grøn_Tube")
Linkadressen indeholder både et varenr og varenavn (f.eks. "https://webshop.dk/123456-3m_Grøn_Tube"

Jeg skal bruge både varenr og varenavn.

Hvordan får jeg nemmest trukket linket ud som tekst, uden at skulle gøre det manuelt for alle 18.000 vare?

Det er ikke noget problem at skille teksten ad i varenr og navn når først jeg har adressen som tekst.
Avatar billede jernrosen3 Professor
20. januar 2026 - 05:43 #1
Du kan prøve følgende:

Markér hele kolonnen, hvor Du har dine mail-adresser. ( Lav evt. en kopi til et nyt ark. )

Højreklik .... - Fjern links

Formatér celler -I nyt vindue - "Tal"-fanen - Tekst
Avatar billede Nanarsi Mester
20. januar 2026 - 10:08 #2
Tak for forslaget jernrosen3
Men det giver desværre ikke det ønskede resultat.

Supplerende oplysninger:
Jeg har også prøvet at optage en macro, af den manuelle arbejdsgang, men den registrerer ikke alle handlinger.
Avatar billede Bak2 Juniormester
20. januar 2026 - 10:46 #3
i vba kan du prøve at indsætte denne funktion. Der kan derefter bryges i regnearket som alle andre functioner

Function hyperaddress(rg As Range) As String
    hyperaddress = rg.Hyperlinks(1).Address
End Function

fx. =hyperaddress(A15)
Avatar billede Nanarsi Mester
20. januar 2026 - 11:09 #4
Tak bak2

Det kunne godt se rigtigt ud 😊

Men mit VBA er noget rustent...
Kan jeg få dig til at lave et script der fortsætter ned i kolonnen ?

På forhånd tak, hvis det er muligt for dig
Avatar billede Bak2 Juniormester
20. januar 2026 - 12:02 #5
Med en fuktion som denne skriver du den bare i første celle og trækker den derefter nedad så langt dine data rækker.
men her er lidt kode hvis det er nemmere :
du sætter lige selv startadressen

Sub filldown()
    Dim rg1 As Range
    Dim cell As Range
   
    Set rg1 = Range("A2:" & Range("A2").End(xlDown).Address)
    For Each cell In rg1
        cell.Offset(, 1).Value = cell.Hyperlinks(1).Address
    Next
End Sub
Avatar billede Bak2 Juniormester
20. januar 2026 - 13:02 #6
Mit VBA er nok også lidt rustent. Her er en lidt bedre kode:
StartCell er første celle med hyperlinks.
StartCellOfsetColumn er hvhvilken kolonne ved siden af du ønsker resultatet i.

Sub filldown()
    Dim rg1 As Range
    Dim cell As Range
    Dim StartCell As Range
    Dim EndCell As Range
    Dim StartCellOfsetColumn As Long
   
    Set StartCell = Range("A2")
    StartCellOfsetColumn = 2
   
    Set rg1 = Range("A2:" & Range("A100000").End(xlUp).Address)
    On Error Resume Next
    For Each cell In rg1
        cell.Offset(, 1).Value = cell.Hyperlinks(1).Address
    Next
End Sub
Avatar billede MaxZpaD Guru
21. januar 2026 - 09:08 #7
Som jeg læser udfordringen, er det at få opdateret "Tekst, der skal vises", så den også indeholder varenummeret, dvs. al tekst efter "https://webshop.dk/" i hyperlinkets adresse-property.

Hvis min opfattelse er korrekt, så prøv med denne VBA-kode, der gennemløber alle celler med hyperlink i området UsedRange af det aktive ark.

Sub sub_update_hyperlink_TextToDisplay()
    Dim rng_cell As Range
    For Each rng_cell In ActiveSheet.UsedRange.Cells
        With rng_cell
            If .Hyperlinks.Count > 0 Then
                With .Hyperlinks(1)
                    .TextToDisplay = Mid(.Address, InStrRev(.Address, "/", , vbTextCompare) + 1)
                End With
            End If
        End With
    Next rng_cell
End Sub
Avatar billede Nanarsi Mester
21. januar 2026 - 14:41 #8
Tak Bak2
Jeg skal lige hjem og se om din løsning virker for mig.

Tak MaxZpaD
Din løsning virkede med det samme, men overskrev de gamle links...

Jeg finder lige ud af i aften hvem af jer der får points
Avatar billede MaxZpaD Guru
21. januar 2026 - 15:00 #9
Nanarsi - vil du både have det gamle hyperlink OG et nyt med varenr., eller hvad er dit ønske-scenarie?  :-)

Jeg havde forstået det sådan, at de gamle links skulle opdateres, så de indeholdt både varenr. og varenavn.

Men andre udfald er selvfølgelig også mulige....
Avatar billede Nanarsi Mester
21. januar 2026 - 15:37 #10
Jeg havde forestille mig at det gamle link ikke blev rørt men at hele linkadressen med nr og navn, kom til at stå i en ny kolonne. ("https://webshop.dk/123456-3m_Grøn_Tube")
Derfra kan jeg trække nr og navn ud i nye kolonner.

Den størst udfordring med dit script er at den tager samtlige links på fanebladet, også nogle der ikke skulle behandles, men det kan jeg arbejde rundt om.
Det ideelle ville være at den tog linket fra kolonne C og lagde teksten i Kolonne D :-)
Avatar billede MaxZpaD Guru
21. januar 2026 - 16:23 #11
Hej Nanarsi

Okay - ny makro. Denne gang gennemløbes kun cellerne i kolonne C. Varenummer indsættes i kolonne D og varenavn i kolonne E. Selve linket ændres ikke.

Sub sub_split_hyperlink_address()
    Dim sht As Worksheet
    Dim rng_cell As Range
    Set sht = ActiveSheet
    On Error GoTo exit_sub
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
    End With
    For Each rng_cell In sht.Columns(3).Cells
        With rng_cell
            If .Row > sht.UsedRange.SpecialCells(xlCellTypeLastCell).Row Then
                Exit For
            ElseIf .Hyperlinks.Count > 0 Then
                With .Hyperlinks(1)
                    rng_cell.Offset(, 1) = Split(Mid(.Address, InStrRev(.Address, "/", , vbTextCompare) + 1), "-")(0)
                    rng_cell.Offset(, 2) = Split(Mid(.Address, InStrRev(.Address, "/", , vbTextCompare) + 1), "-")(1)
                End With
            End If
        End With
    Next rng_cell
    sht.Columns("D:D").Resize(, 2).AutoFit
exit_sub:
    With Application
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
End Sub
Avatar billede Nanarsi Mester
21. januar 2026 - 18:17 #12
Mange tak MaxZpaD

Det er helt perfekt, og spare mig for en hel del arbejde 👍😅

også tak for dine bud Bak2
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