Hiperlinks são URLs anexados a um valor que é visto quando passamos o mouse sobre ele e quando clicamos nele o URL é aberto, no VBA temos uma propriedade embutida para criar hiperlinks em VBA e para usar essa propriedade usamos o método Add junto a instrução de hiperlink para inserir um hiperlink em uma célula.
Hiperlinks no Excel VBA
Mesmo que tenhamos a tecla de atalho Page Up e Page Down no Excel para mover de uma planilha para outra, torna-se complexo quando temos que mover entre 10 para mais planilhas. É aqui que a beleza de “Hyperlinks no Excel” entra em cena. O hiperlink é um URL predeterminado que o leva à respectiva célula ou planilha conforme atribuída.
Todos nós sabemos como criar hiperlinks na planilha para passar de uma planilha para outra rapidamente, e você também pode ir para qualquer outra planilha. Mas no artigo de hoje, mostraremos como criar hiperlinks usando a codificação VBA.

A fórmula dos hiperlinks VBA
Vejamos a fórmula dos hiperlinks no Excel VBA.

- Âncora: em qual célula você gostaria de criar um hiperlink.
- Endereço: qual é o URL do hiperlink para navegar?
- (Subendereço): Qual é a localização da página?
- (Dica de tela): Qual é o valor a ser mostrado quando você posiciona o ponteiro do mouse sobre o nome ou célula do hiperlink?
- (Texto para exibição): Qual é o teste a ser exibido na célula? Por exemplo, Nome da planilha.
Como criar hiperlinks no Excel VBA?
Suponha que você deseja criar um hiperlink VBA para a planilha chamada “Planilha principal” da outra planilha “Exemplo 1”.

Na planilha “Exemplo 1” e na célula A1, irei criar o hyperlink usando Código em VBA.
Etapa 1: primeiro, selecione a célula A1 da planilha do Exemplo 1.
Código:
Sub Hyperlink_Example1 () Planilhas ("Exemplo 1"). Selecione Intervalo ("A1"). Selecione End Sub

Etapa 2: Agora, usando o objeto Active Cell, abra os hiperlinks. Adicione o método.
Código:
Sub Hyperlink_Example1 () Planilhas ("Exemplo 1"). Selecione Intervalo ("A1"). Selecione ActiveCell.Hyperlinks.Add (End Sub

Etapa 3: O primeiro argumento é “Âncora”, ou seja, em qual célula faríamos o link para criar o hiperlink VBA. Neste caso, a célula A1 e como já selecionamos a célula A1 para mencioná-la como “Seleção”.
Código:
Sub Hyperlink_Example1 () Planilhas ("Exemplo 1"). Selecione Intervalo ("A1"). Selecione ActiveCell.Hyperlinks.Add (Selection, End Sub

Etapa 4: Não estamos criando nenhum endereço aqui, então ignore o Endereço a partir de agora.
Código:
Sub Hyperlink_Example1 () Worksheets ("Example 1"). Selecione Range ("A1"). Selecione ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub

Etapa 5: o próximo é o subendereço. Aqui, precisamos mencionar a qual folha estamos nos referindo e a primeira célula dessa folha.
Código:
Sub Hyperlink_Example1 () Planilhas ("Exemplo 1"). Selecione Intervalo ("A1"). Selecione ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Sub

Mencionei o nome da planilha como “Planilha principal” e o endereço da célula dessa planilha é “A1”.
Etapa 6: Ignore a dica de tela também. Para que o texto seja exibido, mencione o nome da folha.
Código:
Sub Hyperlink_Example1 () Planilhas ("Exemplo 1"). Selecione Intervalo ("A1"). Selecione ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", TextToDisplay : = "Folha Principal" End Sub

Ok, executei este código usando a tecla F5 ou manualmente. Em seguida, ele irá criar um hyperlink na célula A1 da planilha “Exemplo 1”.

Quando você clica no hiperlink “Folha principal”, ele redireciona para a folha principal.

Hiperlinks de várias planilhas com loops
Vimos a criação de um hiperlink VBA para uma folha. Quando temos muitas planilhas, não é fácil criar um hyperlink VBA para cada planilha com a mesma linha de código para cada planilha.
Suponha que você tenha 11 planilhas, conforme mostrado na imagem abaixo.

Você deseja criar um hiperlink para cada planilha na planilha de índice usando o código VBA.
Etapa 1: defina a variável como uma planilha.
Código:
Sub Create_Hyperlink () Dim Ws As Worksheet End Sub

Passo 2: A primeira coisa é selecionar o índice da planilha e selecionar a célula A1.
Código:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select End Sub

Step 3: Now open For Each Loop in VBA.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets Next Ws End Sub

Step 4: Since we have already selected the cell A1 it is now an active cell. So start the hyperlink with the active cell.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add( Next Ws End Sub

Step 5: Anchor is a hyperlink cell. So it is the active cell.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, Next Ws End Sub

Step 6: Address is nothing mention it as “.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell,Address:="", Next Ws End Sub

Step 7: Subaddress is when we loop through the sheet, it should be the sheet name. To refer to the sheet name, we need a single quote, “’” with sheet name and “! Cell Address,” and close the sheet name with a single quote “’.”
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell,Address:="",SubAddress:=""& Ws.Name&"!A1"&"", Next Ws End Sub

Step 8: Ignore Screen tip, and for Text to display, you can enter the worksheet name.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, Address:="", SubAddress:="" & Ws.Name & "!A1" & "", ScreenTip:="", TextToDisplay:=Ws.Name Next Ws End Sub

Etapa 9: Para armazenar o hiperlink de cada planilha em uma célula diferente, sempre que um hiperlink for criado para uma planilha, precisamos mover uma célula para baixo da célula ativa.
Código:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Selecione Range ("A1"). Selecione For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0) .Select Next Ws End Sub

Isso criará um hiperlink de todas as planilhas na planilha de índice. Este código é dinâmico sempre que houver adição ou exclusão de folhas. Precisamos executar este código para ter um hiperlink atualizado.
