2012-07-07 3 views
1

Je voudrais créer une macro VBA qui me permettrait d'éditer tous les hyperliens sélectionnés dans une colonne et de changer le "texte à afficher" pour le même mot pour tous. Par exemple, si cela était la colonne:Macro-lien hypertexte VBA

www.google.com/search=cars 
www.google.com/search=houses 
www.google.com/search=cities 

je voudrais mettre en évidence les trois éléments de la colonne et modifier le texte à afficher à « Recherche Google » pour que le résultat serait:

Google Search 
Google Search 
Google Search 

Edit: J'ai trouvé une macro similaire à ce que je veux faire sur le microsoft support site, mais mon problème est que cette macro cible tous les liens hypertexte dans la feuille alors que je voudrais sélectionner une colonne spécifique pour modifier les liens hypertexte .

Sub HyperLinkChange() 
    Dim oldtext As String 
    Dim newtext As String 
    Dim h As Hyperlink

oldtext = "http://www.microsoft.com/" newtext = "http://www.msn.com/" For Each h In ActiveSheet.Hyperlinks x = InStr(1, h.Address, oldtext) If x > 0 Then If h.TextToDisplay = h.Address Then h.TextToDisplay = newtext End If h.Address = Application.WorksheetFunction. _ Substitute(h.Address, oldtext, newtext) End If Next End Sub
+0

Quelle partie vous exactement un problème avec? Sur ce site, vous devez montrer ce que vous avez essayé jusqu'à présent, pas seulement décrire ce que vous voulez faire. Si vous avez un code existant, veuillez mettre à jour votre question avec celle-ci. –

Répondre

1

Cela fonctionne sur la sélection actuelle:

Sub SetLinkText() 

Dim LinkText As String 
Dim h As Hyperlink 

    LinkText = InputBox("Enter link text") 

    If LinkText = "" Then Exit Sub 

    For Each h In Selection.Hyperlinks 
     h.TextToDisplay = LinkText 
    Next 

End Sub 
+0

Merci DJ, fonctionne parfaitement! – Emir