• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Hyperlink scheiden van tekst

Status
Niet open voor verdere reacties.

Bas28

Gebruiker
Lid geworden
8 dec 2007
Berichten
13
Dit forum is mijn laatste redding. Weten jullie het niet, dan weet niemand het...:confused:

Ik heb een kolom met daarin regels met tekst.
De tekst in iedere regel is voorzien van een hyperlink.

Dus bv:
A | B |
1 | tekst 1 (bevat hyperlink) | |
2 | tekst 2 (bevat hyperlink) | |

Wat ik nu zou willen is dat de hyperlinks gescheiden worden van de tekst en daardoor hetvolgende ontstaan:

A | B |
1| tekst 1 | http://www.hyperlinktekst1.com |
2| tekst 2 | http://www.hyperlinktekst2.com |

Wie o wie weet me op het goede spoor te zetten?

Groet,
Bas
 
Bas28, Met deze kleine functie (plaats die in een standaard module van je VBA-editor) krijg je op de plek van je functie het adres terug van de hyperlink.
Code:
Function ToonHL(rOrgTxt As Range) As String

    ToonHL = rOrgTxt.Hyperlinks(1).Address

End Function
In je sheet gebruik je de functie dan via =ToonHL(A1) (waarbij je hyperlink in cel A1 staat).

Groet, Leo
 
Laatst bewerkt:
Code:
Sub Hyper()
Dim lRij As Long
    lRij = 1
    While Worksheets(1).Range("B" & lRij) <> ""
        If Worksheets(1).Range("B1").Hyperlinks.Count > 0 Then
            Worksheets(1).Range("C" & lRij).Value = Worksheets(1).Range("B" & lRij).Hyperlinks(1).Address
            Worksheets(1).Range("B" & lRij).Value = Worksheets(1).Range("B" & lRij).Hyperlinks(1).TextToDisplay
        End If
        lRij = lRij + 1
    Wend
End Sub

Met vriendelijke groet,


Roncancio
 
je haalt de hyperlink er inderdaad zo uit
b.v met
Code:
=HYPERLINK(RECHTS(A7;(LENGTE(A7)+1-VIND.SPEC("http";A7))))
de rest is van dezelfde orde, (zie link wigi)

zie bijlage
 

Bijlagen

Nou dit moet gaan lukken
Kies maar uit hoe je het hebben wil zou ik zeggen.:D
 
Laatst bewerkt:
Dank voor je snelle en uitgebreide antwoorden.
Ik heb de antwoorden doorgelopen, maar ik denk dat ik niet duidelijk ben geweest.

Ik heb een bestandje erbij gedaan waarin staat hoe het is en hoe het zou moeten worden.
Nogmaals mijn dank.
 

Bijlagen

Laatst bewerkt:
Code:
Sub tst()
  For Each cl In Range("A1:A2")
    With cl
      .Copy .Offset(, 1)
      .Offset(, 1).Hyperlinks(1).TextToDisplay = .Hyperlinks(1).Address
      .Hyperlinks(1).Delete
    End With
  Next
End Sub
 
Dank. Dit lijkt te gaan doen wat ik wil, voor zover ik code kan lezen.

Ik neem aan dat ik dit in de VBA editor moet plaatsen?
VBA is vrij nieuw voor me. Hoe krijg ik dit dan aan het werk? Hoe kan ik het laten runnen?
 
...bouw ik mijn voorstel ook maar een stukje uit....:D
Code:
Function ToonHL(rOrgTxt As Range, Optional sKeuze As Boolean = True) As String
'sKeuze = True: toon het hyperlinkadres
'sKeuze = False: toon het friendly adres
    
    If sKeuze Then
        ToonHL = rOrgTxt.Hyperlinks(1).Address
    Else
        ToonHL = rOrgTxt.Hyperlinks(1).TextToDisplay
    End If

End Function
Standaard of met de toevoeging TRUE in de formule geeft de functie de hyperlink. Als je FALSE opgeeft, krijg je de getoonde tekst.

Voorbeeld:
Code:
   A         B           C                    
1 tekst1   tekst1   http://www.test1.nl/ 

Blad1

[Table-It] version 09 by Erik Van Geit
Code:
RANGE FORMULA 
B1    =toonhl(A1;FALSE)
C1    =toonhl(A1;TRUE)

[Table-It] version 09 by Erik Van Geit


Groet, Leo
 
Hallo Leo,

Dank je wel kerel.
Ik zal ontzettend noob klinken, maar waar zet ik e.e.a. en hoe zorg ik ervoor dat de hele kolom die ik heb (honderden rijen) de functie uitvoert?:o

Misschgien mogelijk om dat in mijn/een voorbeeldbestandje te laten zien?

Vriendelijke groet,
Bas
 
Bas28 zei:
Ik zal ontzettend noob klinken, maar waar zet ik e.e.a.
Hmmm.... Je kan beter vragen stellen dan met problemen blijven zitten!;)
en hoe zorg ik ervoor dat de hele kolom die ik heb (honderden rijen) de functie uitvoert?
Ik heb in 't bestandje 2 voorbeelden gemaakt. De eerste in kolom A met daarbij kolommen C en D, tonen mijn functie die je gewoon via de vulknop naar onder kan copieren. Voorbeeld 2 staat in kolom F en heb je nodig voor de code van snb (selecteer de gevulde cellen in kolom F en druk op de knop)

Groet, Leo
 

Bijlagen

Super

Leo, mijn oprechte dank.
Dit scheelt veel onnodige tijd en energie.

Chapeau!:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan