
Estou tentando criar uma célula que extrairá um hiperlink com base no que está preenchido em outra célula do Excel. Tenho a parte do hiperlink funcionando, mas gostaria de ter um rótulo melhor para o hiperlink do que o ID usado para obter a página da web ou o endereço da web inteiro. Achei que seria mais fácil tentar inserir o título das páginas da web. Isso é possível?
Talvez para ajudar um pouco, estou usando esta função para obter o endereço da web
=IF(LEN(Excel Cell Value)>0,HYPERLINK(CONCATENATE("First part of the web address",(Excel Cell Value),"Second part of the web address"),Excel Cell Value),"")
Responder1
=IF(LEN(Excel Cell Value)>0,HYPERLINK(CONCATENATE("First part of the web address",(Excel Cell Value),"Second part of the web address"),Excel Cell Value),"")
Eu não entendo isso. Deixe-me tentar decompô-lo -
If(Len(cell value)>0) - if the cell isn't empty, do TRUE
TRUE - Hyperlink(Concatenate(first, (cell value), second), (cell value)
FALSE - ""
Agora vamos ver como funciona o hiperlink
Hyperlink(link location, friendly name)
Para você isso é
link location = concatenate(first, value, second)
friendly name = value
Você está atribuindo o nome amigável ao valor da célula. Então, a menos que você tenha algo como -
A1 = Google
A2 = Hyperlink(Concatenate("https://www.",A1,".com",A1))
A2 =Google
Isso não vai funcionar. A única coisa que você poderá fazer é usar o VBA para acessar a página e coletar informações ou usar algo como -
A1 = Google
A2 = Searching Website
A3 = Hyperlink(Concatenate("https://www.",A1,".com",A2))
A3 =Pesquisando site
Para obter o título via VBA -
Sub gettitle()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate "http://superuser.com/"
While ie.busy
DoEvents
Wend
Dim title As String
title = ie.document.title
MsgBox (title)
End Sub
Ok, para fazer uma função retornar o hiperlink com o título, você precisará de uma Função Definida pelo Usuário (UDF) -
Function GetTitle(site As Range) As String
Dim title As String
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.navigate site
While ie.busy
DoEvents
Wend
title = ie.document.title
ie.Quit
GetTitle = title
End Function
Isso irá para o destino da página da web e retornará o título. Então agora, digamos que você tenha uma página da web na célula A1
- agora você precisa chamar sua função para obter o título -
A2 = GetTitle(A1)
A3 = Hyperlink(A1,A2)