Criar hiperlinks automaticamente no Excel com VBA

Cálculo de porcentagem no Excel
Cálculo de porcentagem no Excel
24 de abril de 2012
Criar gráfico Excel com Imagem
Criar gráfico Excel com Imagem
28 de abril de 2012

Objetivo: Criar hiperlinks para uma lista de dados de forma automática. No exemplo usei pacotes dos Correios.

Em determinados casos temos a necessidade de criar hiperlinks para uma lista de dados de forma automática.

Estas situações podem ser por exemplo para acompanhar pacotes dos correios, encomendas em transportadoras, podendo ser amplamente utilizado em conjunto com o Sharepoint, criando poderosos relatórios.

Como não tenho o Sharepoint instalado aqui fiz com o site dos correios, mas o princípio é o mesmo. O lugar aonde está apontando o endereço da célula seria o número do registro no Sharepoint no caso. Veja a nova planilha  para rastreamento correio no Excel.

Abaixo todo o código fonte utilizado:

Sub CriarHiperlink()
    
    Dim lUltimaLinhaAtiva As Long
    Dim lControle As Long

    Application.ScreenUpdating = False

    lUltimaLinhaAtiva = Worksheets("Lista de Encomendas").Cells(Worksheets("Lista de Encomendas").Rows.Count, 1).End(xlUp).Row
        
    For lControle = 2 To lUltimaLinhaAtiva
        Range("A" & lControle).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
            "http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=" & _
            Range("A" & lControle).Value, TextToDisplay:="" & Range("A" & lControle).Value
    Next lControle
End Sub

Sub RemoverHiperlink()

    Dim lUltimaLinhaAtiva As Long
    Dim lControle As Long

    Application.ScreenUpdating = False

    lUltimaLinhaAtiva = Worksheets("Lista de Encomendas").Cells(Worksheets("Lista de Encomendas").Rows.Count, 1).End(xlUp).Row
        
    For lControle = 2 To lUltimaLinhaAtiva
        Range("A" & lControle).Select
        Selection.Hyperlinks.Delete
    Next lControle
End Sub

Abraço

Marcos Rieper


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

18 Comentários

  1. Afonso disse:

    Bacana Rieper! Um abraço.

  2. Marcia disse:

    Oi Marcos,

    Alem do dominio espantoso que tens com a ferramenta, me impressionas muito com tua criatividade!! =)

    Parabéns!

  3. Alexandre disse:

    Olá Marcos, parabens pelo trabalho com o blog, realmente muito bom!

    Gostaria de tirar uma dúvida quero fazer esta alteração, usando códigos de correio, mas queria que elas fossem feitas na coluna N e não na A como consigo fazer isto?

    Tentei alterar o codigo e não obtive exito.

  4. Geovane Rocha disse:

    Tem como fazer o mesmo com arquivos em uma pasta e quando adicionar o arquivo e ao abrir a planilha, automaticamente cria o link para o arquivo?

  5. USEI OS CODIGOS PARA ABRIR REGRISTROS COM HIPERLINK AUTOMATICO
    MAS, NÃO FUNCIONOU.
    OBRIGADO

    ALVARO

  6. allan disse:

    Bacana o post, estou com um problema preciso fazer um hiperlink, mas o site que tem as informações tem Captcha, sabe informar se funciona esse metodo ?

  7. Eduardo Paiva disse:

    Bom dia, gostaria de saber como posso fazer isto, só que o endereço é: Ex: c:/pedidos
    e não em sites.

    Grato

  8. Israel Alves disse:

    Parabéns pelo trabalho, Marcos!
    Tenho uma dúvida.
    Como faço para criar hiperlinks entre planilhas?

    • Marcos Rieper disse:

      Boa noite Israel,

      Se não precisar criar automaticamente pode escrever uma palavra na planilha, depois clicar com o botão direito sobre a célula e clique em Hiperlink, depois clique em Examinar e selecione a pasta aonde está o arquivo e depois o arquivo, clique no botão Indicador e selecione a aba do arquivo Excel que você deseja que seja aberto.

      Desta forma vai abrir o arquivo diretamente na planilha que você precisa.

      Abraço

      Marcos Rieper

  9. jÉSSICA disse:

    Eu preciso de ajuda não consegui fazer, sera que teria como entrar em contato com você por e-mail?

  10. Marcos disse:

    Muito bom…!!!

    Acabei de criar uma ferramenta com a sua dica… ficou ótimo.

  11. Diogo disse:

    Olá, Marcos. Tudo bem?

    Acabei de conhecer seu site e gostei muito. Pretendo me inscrever nos cursos avançados e VBA ainda essa semana. Parabéns pelo excelente conteúdo!

    Tenho uma dúvida: preciso de uma planilha muito semelhante à que você postou. Contudo, ao invés de abrir links na internet, gostaria de abrir planilhas que possuem o nome da célula em questão. O que devo substituir para que isso seja possível?

    Muito obrigado!

    • Marcos Rieper disse:

      Bom dia Diogo,

      Sim, adapte o código abaixo para a sua necessidade substituindo Tabela!A1 pelas planilhas que gostaria.

      ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
      "Tabela!A1"

      Abraço
      Marcos Rieper

  12. MANOEL MESSIAS SANTOS FILHO disse:

    Marcos,
    parabéns pelo excelente trabalho…tenho uma dúvida:
    Tenho um banco de dados de bens do ativo imobilizado. Montei com nº patrimonio, descrição, etc.. Numa aba chamada “Móveis”.
    Em outra aba formatei 800 posições e numerei de 1 a 800. Seria melhor utilizar hiperlink para quando eu clicar em um determinado número ele me levar direto para a aba “Móveis” no item correspondente ao imobilizado daquele número? Vou ter que fazer 800 hiperlink um a um ou tem como diminuir o trabalho via vba?
    Abraço

    • Marcos Rieper disse:

      Boa tarde Manoel,

      Obrigado pelo seu contato.

      Você pode montar utilizando fórmulas desta forma: =HIPERLINK(“[Pasta3.xlsx]E56″;”teste”), e para localizar o item você pode usar as funções índice, corresp e indireto para chegar aonde você precisa.

  13. roberto caeiro disse:

    Marcos rieper, como faço para ter um hiperlink que devolva a página que chamou ? me lembro que no antigo frontpage da microsoft, eu colocava um botão voltar e o hiperlink me devolvia a página que chamou, desta forma usava a mesma página de consulta, devolvendo sempre para a pagina que chamava no botão voltar. espero que tenha entendido minha questão. obrigado.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.