VBA – Hiperlinks

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on July 10, 2023

Este tutorial do VBA aborda as diferentes maneiras de trabalhar com hiperlinks no VBA.

Hiperlinks do VBA

Com o VBA, você pode adicionar hiperlinks, remover hiperlinks, criar e-mails usando hiperlinks e abrir arquivos usando hiperlinks no VBA.

Adicionar um Hiperlink com o VBA

O método Hyperlinks.Add adiciona um hiperlink a uma célula usando o VBA.

O código a seguir adicionará um hiperlink à célula A1:

Sub AdicionarHiperlinkACelula()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/"
End Sub

O resultado é:

hiperlink adicionado

Adição de Texto para Exibição com o VBA

Você pode adicionar um texto simples e fácil de usar para exibir no hiperlink com o VBA. Se você usasse a funcionalidade de planilha, inseriria um hiperlink e, em seguida, adicionaria um texto a ser exibido na caixa de diálogo fornecida.

O código abaixo demonstra como adicionar texto para exibição ao hiperlink usando o VBA:

Sub TextoParaExibicaoDoHipelink()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"
End Sub

O resultado é:

hiperlink texto exibicao

Adição de um Dica de Tela (ScreenTip) com VBA

Você pode adicionar uma Dica de Tela (ScreenTip) ao seu hiperlink que o visualizador verá quando passar o mouse sobre o link.

O código abaixo mostra como adicionar uma ScreenTip ao hiperlink usando o VBA:

Sub HiperlinkComDicaDeTela()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="Este é um link para Automate Excel"
End Sub

O resultado é o seguinte:

hiperlink dica de tela

Excluir um Hiperlink com o VBA

O método Hyperlinks.Delete pode ser usado para excluir um hiperlink de uma célula.

O código a seguir excluirá o hiperlink da célula A1 e o texto na célula.

Observe que apenas a exclusão do hiperlink não exclui o texto em si; por isso, se você quiser excluir o texto, também deverá usar o método Clear.

Sub ApagarHiperlinkDaCelula()
  Range("A1").Hyperlinks.Delete
  Range("A1").Clear
End Sub

Excluir Todos os Hiperlinks em uma Planilha

Você também pode excluir todos os hiperlinks da planilha usando o método Hyperlinks.Delete.

O código a seguir excluirá todos os hiperlinks da primeira planilha de sua pasta de trabalho:

Sub RemoverTodosHiperlinksDaPlanilha()
  ThisWorkbook.Sheets(1).Hyperlinks.Delete
End Sub

Seguir um Hiperlink de Site Usando VBA

O código a seguir permite abrir o endereço de um site em uma nova janela do navegador usando o método FollowHyperlink na pasta de trabalho:

Sub SeguirHiperlinkParaWebsite()
  ActiveWorkbook.FollowHyperlink Address:="https://www.automateexcel.com/excel", NewWindow:=True
End Sub

Seguir um Hiperlink Para uma Pasta em Seu Disco Rígido

O código a seguir abrirá uma pasta chamada ArquivosExcel na área de trabalho usando o método FollowHyperlink:

Sub SeguirHiperlinkParaPastaNoDisco()
  ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ArquivosExcel"
End Sub

Seguir um Hiperlink Para um Arquivo em Sua Unidade de Disco

O código a seguir abrirá um arquivo do Excel chamado Arquivo1 na pasta chamada ArquivosExcel na área de trabalho usando o método FollowHyperlink:

Sub SeguirHiperlinkParaArquivo()
  ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ArquivosExcel\Arquivo1.xlsx", NewWindow:=True
End Sub

Ir para uma Célula em Outra Planilha na Mesma Pasta de Trabalho

Você pode adicionar um hiperlink a uma célula em uma planilha que o leve a outra planilha, na mesma pasta de trabalho, com o VBA. Digamos que você esteja na Planilha 1, célula A1, da pasta de trabalho e queira inserir um hiperlink para a Planilha 2, célula B2, da mesma pasta de trabalho.

O código a seguir demonstra como fazer isso:

Sub IrParaCelulaOutraPlanilhaMesmaPasta()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Planilha2.Name & "'!B2", TextToDisplay:="Clique aqui para ir para a Planilha2, célula B2 da mesma pasta de trabalho"
End Sub

Exibir Todos os Hiperlinks em uma Planilha

Você pode acessar a coleção de hiperlinks e exibir todos os hiperlinks em sua planilha na Janela Verificação Imediata no Editor VBA. Primeiro, pressione CTRL+G no teclado ou vá para Exibir>Janela ‘Verificação Imediata’ no VBE Editor para exibir a janela de verificação.

O código a seguir mostra como visualizar os hiperlinks em sua planilha na janela de verificação:

Sub MostrarTodosHiperlinksNaPlanilha()

Dim ws As Worksheet
Dim lnk as Hyperlink

Set ws = ThisWorkbook.Sheets(1)

For Each lnk In ws.Hyperlinks
   Debug.Print lnk.Address
Next lnk

End Sub

Os resultados são mostrados na janela de verificação.

mostrar todos hiperlinks planilha

Exibir Todos os Hiperlinks em uma Pasta de Trabalho

Você pode acessar a coleção de hiperlinks para percorrer e exibir todos os hiperlinks da pasta de trabalho em uma caixa de mensagem.

O código a seguir mostra como fazer isso e usa um loop aninhado para conseguir isso:

Sub MostrarTodosHiperlinksNoArquivo()

Dim ws As Worksheet
Dim lnk as Hyperlink

For Each ws In ActiveWorkbook.Worksheets
   For Each lnk In ws.Hyperlinks
      MsgBox lnk.Address
   Next lnk
Next ws

End Sub

Uso do Método FollowHyperlink para Criar E-mails

Você também pode criar e-mails usando o método FollowHyperlink.

O código abaixo mostrará como criar e-mails usando o método FollowHyperlink no VBA:

Sub MandarEmailUsandoHiperlink()

Dim msgLink As String

msgLink = "mailto:" & "person@email.com" & "?" & "subject=" & "Olá" & "&" & "body=" & "Como vai você?"
ActiveWorkbook.FollowHyperlink (msgLink)

End Sub

O resultado é:

enviar email hiperlink

 

Adição de um Hiperlink a uma AutoForma no Excel

Você pode adicionar um hiperlink a uma AutoForma no Excel para que, quando o usuário clicar na forma, ele seja levado a um endereço de site.

O código a seguir cria um retângulo arredondado, adiciona o texto ao retângulo e adiciona um hiperlink ao retângulo:

Sub AdicionarHiperlinkEmAutoForma()

Dim MinhaForma As Shape
Dim MeuDocumento as Worksheet
Set MeuDocumento = Worksheets("Planilha1")
Set MinhaForma = MeuDocumento.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)

With MinhaForma
   .TextFrame.Characters.Text = "Automate Excel"
End With

ActiveSheet.Hyperlinks.Add Anchor:=MinhaForma, Address:="https://www.automateexcel.com/excel"

End Sub

O resultado é:

hiperlink em autoforma

Inserção da Fórmula de Hiperlink em Uma Célula usando VBA

Digamos que você tenha um título de postagem na célula A4 e um link de postagem na célula B4, conforme mostrado na imagem abaixo.

Inserting a Hyperlink Using a Formula with VBA

Um lembrete rápido da sintaxe da fórmula de hiperlink da planilha é

HIPERLINK(local-vínculo, [nome_amigável])

local-vínculo – Este é o link para o documento, arquivo, local na pasta de trabalho ou site on-line.

nome_amigável –(Opcional) – O texto ou valor numérico que é exibido na célula.

Na célula C4, você deseja adicionar o hiperlink com um texto amigável a ser exibido. Normalmente, você digitaria a fórmula =HIPERLINK(B4,A4) na C4 para obter o seguinte:

formula na celula

Em vez disso, você poderia usar o VBA para obter o mesmo resultado e inserir essa fórmula na célula, na Planilha1, com o seguinte código:

Sub InserirHiperlinkFormulaNaCelula()
  ActiveWorkbook.Worksheets("Planilha1").Range("C4").Formula = "=hyperlink(B4,A4)"
End Sub

Como Adicionar um Hiperlink a um Botão no Access

O VBA também permite que você trabalhe com hiperlinks no Access. Digamos que tenhamos um botão em um formulário e, quando o usuário clicar nesse botão, queremos que ele seja levado a um site. Uma maneira de fazer isso é por meio do método Application.FollowHyperlink.

Temos nosso formulário de amostra com um botão chamado BotaoUm mostrado abaixo.

formulario exemplo

O código para esse botão seria:

Private Sub BotaoUm_Click()

Application.FollowHyperlink ("https://www.automateexcel.com/excel/")

End Sub

Criação de um Hiperlink a Partir de uma Seleção no Word

Você também pode trabalhar com hiperlinks no Word VBA.
Digamos que tenhamos um texto no Word que diz “Clique aqui para ser levado ao site do Automate Excel”, que está selecionado conforme mostrado abaixo.

exemplo word

Para transformar esse texto em um hiperlink usando o VBA, você pode usar o seguinte código:

Private Sub TransformarSelecaoEmHiperlink()
  ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="Clique aqui por favor", Target:=NewWindow
End Sub

O resultado é:

hiperlink word criado

 

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA