Kopier Hyperlinkformel

I A-kolonnen fra A2 og ned findes et antal Hyperlink-formler, der henviser til forskellige hjemmesider. I B-kolonnen findes tekster, der kort beskriver hjemmesiderne. I F1 indtastes en af disse beskrivelser.

En formel kan fx se ud som følger:

=HYPERLINK("https://www.kronsell.net";"Jans Hjemmeside")

Nu skal formlen gentages i H-kolonnen. Normalt vil man kunne sætte cellen i H-kolonnen lig med cellen i A-kolonnen, altså i fx H3 skrive =A3. Det vil imidlertid kun "kopiere" ledeteksten, altså Jans Hjemmeside, ikke det underliggende link. Er der ingen ledetekst (eller som Excel kalder det Fuldt_navn), bliver resultatet https://www.kronsell.net, men stadig uden at det underliggende link følger med. Samtidigt ønskes det, at kun det link, der hører til den tekst, der tasts i F1, skal kopieres til H-kolonnen og i den relevante række. Det kan gøres med denne meget korte  makro:

Sub KopierHyperlink()
    For Each c In Range("b1:b6").Cells
        If c.Value = Range("f1").Value Then
            c.Offset(0, 6).Formula = c.Offset(0, -1).Formula
        End If
    Next
End Sub

Udvidet version

I denne version ændres makroen en anelse. Ønsket er nu, at teksten, der står i F-kolonnen findes i C-kolonnen. Det hyperlink, der står i B-kolonnen ud for den fundne tekst i C, skal nu indsættes i den række, som makroen "er kommet til", som vist på figuren herunder.

Dette kan opnås ved at ændre koden til

Sub KopierLink()
    Dim fcont As String, c As Variant, cel As Variant
    For Each cel In Range("f1:f6").Cells
        fcont = cel.Value
        For Each c In Range("c1:c6").Cells
            If c.Value = fcont Then
                Range("H100").End(xlUp).Select
                    If IsEmpty(Selection) Then
                        Selection.Value = c.Offset(0, -1).Formula
                    Else
                        Selection.Offset(1, 0).Value = c.Offset(0, -1).Formula
                    End If
            End If
        Next
    Next
End Sub

Først gennemløbes F-kolonnen og hver enkelt celle sammenlignes med hele C-kolonnen. Hvis der er lighed findes den første tomme celle i H-kolonnen, og i denne indsættes så det hyperlink, der står i B-kolonnen ud for den fundne celle i F.

- Tilbage til makroer -
- Tilbage til Excel -