Como substituir links em massa que estão incorporados a palavras em células do Excel

1

Eu tenho uma lista enorme de palavras com links. Todas as URLs têm texto que se repete. Eu quero substituir esse texto em massa por outro. No momento, "Substituir todas" apenas as pesquisas entre palavras, não por meio dos hiperlinks incorporados por trás das palavras.

Por favor ajude. Obrigado.

    
por Karolinger 11.10.2013 / 06:23

1 resposta

2

A única maneira de fazer isso é com uma macro:

Public Sub ReplaceHyperlinkURL(FindString As String, ReplaceString As String)
Dim LinkURL, PreStr, PostStr, NewURL As String
Dim FindPos, ReplaceLen, URLLen As Integer
Dim MyDoc As Worksheet
Dim MyCell As Range
On Error GoTo ErrHandler

Set MyDoc = ActiveSheet
For Each MyCell In MyDoc.UsedRange
If MyCell.Hyperlinks.Count > 0 Then
 LinkURL = MyCell(1).Hyperlinks(1).Address
 FindPos = InStr(1, LinkURL, FindString)
 If FindPos > 0 Then 'If FindString is found
  ReplaceLen = Len(FindString)
  URLLen = Len(LinkURL)
  PreStr = Mid(LinkURL, 1, FindPos - 1)
  PostStr = Mid(LinkURL, FindPos + ReplaceLen, URLLen)
  NewURL = PreStr & ReplaceString & PostStr
  MyCell(1).Hyperlinks(1).Address = NewURL 'Change the URL
  End If
 End If
Next MyCell
Exit Sub
ErrHandler:
MsgBox ("ReplaceHyperlinkURL error")
End Sub

O código ReplaceHyperlinkURL deve ser colocado em um módulo de código VBA. De uma planilha, pressione Alt + F11 para abrir o editor do VBA. Em seguida, selecione Inserir - Módulo no menu. Copie o código e cole-o no módulo. Em seguida, salve o módulo.

Para executar o procedimento, crie uma macro que contenha a seguinte linha e execute a macro no Excel. Certifique-se de substituir o FindText pela parte do endereço que deseja localizar e substituir o texto pelo texto que deseja substituí-lo.

Call ReplaceHyperlinkURL("FindText", "ReplaceText")

Fonte

    
por 11.10.2013 / 06:58