Hiperlinks VBA

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

Hiperlinks 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 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:

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

O resultado é:

Adicionando texto para exibição com VBA

Você pode adicionar um texto simples e amigável para exibir em seu hiperlink com o VBA. Se você usou a funcionalidade de planilha, deve inserir um hiperlink e adicionar um texto a ser exibido na caixa de diálogo fornecida.

O código a seguir demonstra como adicionar texto para exibir em seu hiperlink usando o VBA:

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

O resultado é:

Adicionando uma Dica de Tela com VBA

Você pode adicionar uma dica de tela ao seu hiperlink que o visualizador verá quando passar o mouse sobre o link.

O código a seguir mostra como adicionar uma dica de tela ao seu hiperlink usando o VBA:

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

O resultado é:

Excluir um hiperlink com 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 excluir o hiperlink não exclui o texto em si, por isso, se você deseja que o texto seja excluído, você também deve usar o método Clear.

1234 Sub DeleteHyperlinkinCell ()Intervalo ("A1"). Hyperlinks.DeleteIntervalo ("A1"). LimparEnd Sub

Exclua todos os hiperlinks em uma planilha

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

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

123 Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteEnd Sub

Siga um hiperlink de site usando VBA

O código a seguir permite que você abra o endereço de um site, em uma nova janela de seu navegador, usando o método FollowHyperlink em sua pasta de trabalho:

123 Sub FollowHyperlinkForWebsite ()ActiveWorkbook.FollowHyperlink Address: = "https://www.automateexcel.com/excel", NewWindow: = TrueEnd Sub

Siga um hiperlink para uma pasta em sua unidade

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

123 Sub FollowHyperlinkForFolderOnDrive ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles"End Sub

Siga um hiperlink para um arquivo em sua unidade

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

123 Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueEnd Sub

Vá 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 leva a outra planilha, na mesma pasta de trabalho com o VBA. Digamos que você esteja na Planilha1, célula A1 da sua pasta de trabalho e deseja inserir um hiperlink para a Planilha2, célula B2 da mesma pasta de trabalho, você pode usar a propriedade SubAddress para fazer isso.

O código a seguir demonstra como fazer isso:

123 Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Clique aqui para ir para a Planilha2, célula B2 do 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 no Janela intermediária no Editor do VBA. Você deve primeiro pressionar CTRL + G no seu teclado ou vá para Exibir> Janela intermediária no Editor VBE, para visualizar a janela intermediária.

O código a seguir mostra como visualizar os hiperlinks em sua planilha na janela intermediária:

1234567891011 Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws como planilhaDefina ws = ThisWorkbook.Sheets (1)Para cada lnk em ws.HyperlinksDebug.Print lnk.AddressNext lnkEnd Sub

Os resultados são mostrados na janela intermediária.

Exibir todos os hiperlinks em uma pasta de trabalho

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

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

1234567891011 Sub ShowAllTheHyperlinksInTheWorkbook ()Dim ws como planilhaPara cada ws em ActiveWorkbook.WorksheetsPara cada lnk em ws.HyperlinksMsgBox lnk.AddressNext lnkPróximo wsEnd Sub

Usando o método FollowHyperlink para criar e-mails

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

O código a seguir mostrará como criar e-mails usando o Método FollowHyperlink no VBA:

12345678 Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "Como vai você?"ActiveWorkbook.FollowHyperlink (msgLink)End Sub

O resultado é:

Adicionando um hiperlink a uma AutoForma no Excel

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

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

12345678910111213 Sub AddedAHyperlinkToAShape ()Dim myShape As ShapeDefinir myDocument = Worksheets ("Folha1")Definir myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)Com myShape.TextFrame.Characters.Text = "Automatizar Excel"Terminar comActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"End Sub

O resultado é:

Inserindo a 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.

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

HYPERLINK (link_location, [friendly_name])

link_location - Este é o link para o documento, arquivo, local na pasta de trabalho ou site online.

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 para exibir, agora geralmente você deve inserir a fórmula = HYPERLINK (B4, A4) em C4 para obter o seguinte:

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

123 Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Planilha1"). Intervalo ("C4"). Fórmula = "= hiperlink (B4, A4)"End Sub

Adicionando um hiperlink a um botão no Access

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

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

O código para este botão seria:

12345 Botão Sub privadoOne_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")End Sub

Criando um hiperlink a partir de uma seleção no Word

Você também pode trabalhar com hiperlinks no Word VBA.
Digamos que temos texto em Palavra que diz “Clique aqui para ser levado ao site Automatizar Excel”, que é selecionado conforme mostrado abaixo.

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

123 Sub TurnASelectionIntoAHyperlink privado ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Clique aqui, por favor", Target: = NewWindowEnd Sub

O resultado é:

wave wave wave wave wave