Excel 2016. Por que eu faço uma célula de hiperlink em texto?

0

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

Por exemplo Cell (A1) tem "Apple" (hiperlink para link )

Eu quero colocar os valores em D e E

D1 conteria "Apple"

E1 deve conter o link

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

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

    
por software is fun 12.04.2018 / 14:47

2 respostas

1

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

edepoisfuncionará:

    
por 12.04.2018 / 15:18
0

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

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

Cortar / colar seu código lá. Deve funcionar muito bem então!

Para tornar suas intenções um pouco mais claras, você pode estender seu cabeçalho de função explicitamente declarando-o como uma função Public (não declarando que não irá mudar nada, mas algumas pessoas supõem que ele seja implicitamente Private ) e definindo o tipo de retorno para String :

Public Function GetURL(HyperlinkCell As Range) as String

Como a propriedade Hyperlink contém somente strings, não há nada de errado em explicitar isso em sua UDF.

    
por 12.04.2018 / 15:17