Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Hypertextový odkaz v Excelu...

Mám na listu několik set řádek (seznam výrobků), v poslední buňce na každém řádku je odkaz na stránku výrobce, případně katalogový list apod.

Problém je, že občas potřebuji celý seznam přerovnat - jednou abecedně podle výrobců, jednou podle typu výrobků, podle katalogových kódů apod.

No a při tomto přerovnání se většinou stane, že se pár odkazů přemíchá. Např. se mi stalo, že při najetí kurzorem na prázdnou buňku, kde nebyl žádný text ani odkaz před přerovnáním, se mi po přerovnání ukáže prázdná buňka bez textu, ale s odkazem, který by měl být u jiného zboží. Nebo naopak v buňce je text "katalogový list", ale po najetí zjistím, že tam není odkaz přiřazen.

Kdyby to bylo u dvaceti řádků, tak to neřeším, ale procházet takto několik set je docela otrava.

Dá se to nějak zabezpečit? Díky.

Předmět Autor Datum
Na odkazy používaj funkciu HYPERLINK. Lebo inak ti zostáva už len rada od Microsoftu: If this proble…
los 09.05.2014 10:47
los
Díky, a teď ještě jednu věc - jak provést změnu stávajících hypertextových odkazů na funkci hyperlin…
rokator 09.05.2014 12:19
rokator
Môžeš použiť nasledovné makro (pred spustením zálohovať): Sub ReplaceHyperlinks() Dim aHyperlink As… poslední
los 09.05.2014 14:29
los

Môžeš použiť nasledovné makro (pred spustením zálohovať):

Sub ReplaceHyperlinks()
    Dim aHyperlink As Hyperlink
    
    For Each aHyperlink In Hyperlinks
        aHyperlink.Range.Formula = "=HYPERLINK(""" & aHyperlink.Address & """,""" & aHyperlink.Range & """)"
        aHyperlink.Delete
    Next aHyperlink
End Sub

Makro nebude fungovať správne v prípade, že máš v texte alebo odkaze úvodzovku (nepravdepodobné). Ak by si tam predsa len nejaké úvodzovky mal, tak stačí doplniť jednoduchý Replace, pomocou ktorého ich zdvojíš.

Problém je, že odkazy pomocou funkcie HYPERLINK vytvorené cez VBA nevyzerajú ako odkazy, aj keď sa tak správajú (nejaký bug). Aby vyzerali ako odkaz, tak musíš Excel prinútiť, aby si myslel, že si to zadal ručne - stačí vyjsť na bunku s odkazom a stlačiť F2 a Enter.

Zpět do poradny Odpovědět na původní otázku Nahoru