Excel 2016. Como faço para transformar uma célula de hiperlink em texto?

Excel 2016. Como faço para transformar uma célula de hiperlink em texto?

Eu tenho uma coluna de texto que são todos hiperlinks. Quero copiar o texto e o URL em campos separados.

Por exemplo, a célula (A1) tem "Apple" (hiperlink parahttp://www.apple.com)

Quero colocar os valores em D e E

D1 conteria "Apple"

E1 conteria o URLhttp://www.apple.com

Function GetURL(HyperlinkCell As Range)
    GetURL = Replace(HyperlinkCell.Hyperlinks(1).Address, "file:", "")
End Function

Eu tentei isso em ThisWorkbook (VBA) e obtive os resultados como#NOME?na minha planilha

Responder1

Você precisa colocar sua função em ummódulo padrão:

insira a descrição da imagem aqui

e então funcionará:

insira a descrição da imagem aqui

Responder2

Você tem que colocar seu código em um módulo normal:

  • Clique com o botão direito no seu projeto no VBE
  • Inserir: Módulo
  • (Opcionalmente) dê ao seu módulo um nome mais sensato

Recorte/cole seu código lá. Deve funcionar bem então!

Para deixar suas intenções um pouco mais claras, você pode estender o cabeçalho da sua função declarando-o explicitamente como uma Publicfunção (sem afirmar que não mudará nada, mas algumas pessoas assumem que seja implicitamente Private) e definindo o tipo de retorno como String:

Public Function GetURL(HyperlinkCell As Range) as String

Como a propriedade Hyperlink contém apenas strings, não há nada de errado em torná-la explícita em sua UDF.

informação relacionada