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