Como extrair um URL de um hiperlink no Excel

Como extrair um URL de um hiperlink no Excel

Hoje, enfrentei o problema de extrair URLs de uma longa lista de texto com hiperlink. Eu tinha duas opções:

Primeiro é fazer isso manualmente:

  1. Clique com o botão direito do mouse em um hiperlink.
  2. No menu de contexto, escolha Editar hiperlink. Excel exibe a caixa de diálogo Editar hiperlink.
  3. Selecione e copie ( Ctrl + C ) o URL inteiro no campo Endereço da caixa de diálogo.
  4. Pressione Esc para fechar a caixa de diálogo Editar hiperlink.
  5. Cole o URL em qualquer célula desejada.

Mas então eu tenho uma longa lista de hiperlinks na minha planilha do Excel. Se eu tivesse que fazer isso para cada um dos hiperlinks, isso pode ser entediante muito rapidamente. Então, a segunda opção é obter as URLs usando uma macro.

O exemplo a seguir pode ser útil ao extrair hyperlinks de tabelas de links que foram copiados para o Excel, ao fazer pós-processamento em consultas da Web do Excel ou ao obter o endereço de email de uma lista de hiperlinks “mailto:”.

Extrair um URL de um hiperlink no Excel é fácil!

Opção 1: Se você quiser executar esta operação uma vez

  1. Abra uma nova pasta de trabalho.
  2. Entre no VBA (pressione Alt + F11 )
  3. Inserir um novo módulo ( Inserir> Módulo )
  4. Copie e cole a função definida pelo usuário do Excel abaixo
  5. Pressione F5 e clique em “Executar”
  6. Saia do VBA (pressione Alt + Q )

Sub ExtractHL()
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
HL.Range.Offset(0, 1).Value = HL.Address
Next
End Sub

Opção 2: se você planeja adicionar mais hiperlinks à planilha e precisar armazenar a fórmula na planilha

  1. Abra uma nova pasta de trabalho.
  2. Entre no VBA (pressione Alt + F11 )
  3. Inserir um novo módulo ( Inserir> Módulo )
  4. Copie e cole a função definida pelo usuário do Excel abaixo
  5. Saia do VBA (pressione Alt + Q )
  6. Use esta sintaxe para essa função personalizada do Excel: = GetURL ( cell , [ default_value ])

Function GetURL(cell As range, _
Optional default_value As Variant)
'Lists the Hyperlink Address for a Given Cell
'If cell does not contain a hyperlink, return default_value
If (cell.range("A1").Hyperlinks.Count <> 1) Then
GetURL = default_value
Else
GetURL = cell.range("A1").Hyperlinks(1).Address & "#" & cell.range("A1").Hyperlinks(1).SubAddress
End If
End Function

Texto Original: http://howtouseexcel.net/how-to-extract-a-url-from-a-hyperlink-on-excel