Collegamenti ipertestuali VBA

I collegamenti ipertestuali sono URL collegati a un valore che viene visualizzato quando si passa il mouse su di esso e quando si fa clic su di esso l'URL viene aperto, in VBA abbiamo una proprietà incorporata per creare collegamenti ipertestuali in VBA e per utilizzare questa proprietà utilizziamo il metodo Aggiungi insieme a l'istruzione del collegamento ipertestuale per inserire un collegamento ipertestuale in una cella.

Collegamenti ipertestuali in Excel VBA

Anche se in Excel abbiamo i tasti di scelta rapida Pagina su e Pagina giù per spostarci da un foglio all'altro. Ma diventa complesso quando dobbiamo passare da 10 a più fogli di lavoro. È qui che entra in gioco la bellezza di "Collegamenti ipertestuali in Excel". Il collegamento ipertestuale è un URL predeterminato che ti porta alla rispettiva cella o foglio di lavoro come assegnato.

Sappiamo tutti come creare collegamenti ipertestuali nel foglio di lavoro per passare rapidamente da un foglio a un altro e puoi anche andare a qualsiasi altro foglio. Ma nell'articolo di oggi, ti mostreremo come creare collegamenti ipertestuali utilizzando la codifica VBA.

Formula dei collegamenti ipertestuali VBA

Diamo un'occhiata alla formula dei collegamenti ipertestuali in Excel VBA.

  • Ancora: in quale cella desideri creare un collegamento ipertestuale.
  • Indirizzo: qual è l'URL del collegamento ipertestuale per navigare?
  • [Indirizzo secondario]: qual è la posizione della pagina?
  • [Suggerimento sullo schermo]: qual è il valore da mostrare quando si posiziona il puntatore del mouse sul nome o sulla cella del collegamento ipertestuale?
  • [Testo da visualizzare]: qual è il test da visualizzare nella cella? Ad esempio il nome del foglio di lavoro.

Come creare collegamenti ipertestuali in Excel VBA?

Puoi scaricare questo modello di collegamenti ipertestuali VBA qui - Modello di collegamenti ipertestuali VBA

Supponiamo di voler creare un collegamento ipertestuale VBA al foglio denominato "Foglio principale" dall'altro foglio "Esempio 1".

Nel foglio di lavoro "Esempio 1" e nella cella A1, creerò il collegamento ipertestuale utilizzando Codice in VBA.

Passaggio 1: selezionare innanzitutto la cella A1 del foglio di lavoro Esempio 1.

Codice:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Seleziona Range ("A1"). Seleziona End Sub 

Passaggio 2: ora utilizzando i collegamenti ipertestuali aperti dell'oggetto cella attiva. aggiungi metodo.

Codice:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Seleziona Range ("A1"). Seleziona ActiveCell.Hyperlinks.Add (End Sub 

Passaggio 3: il primo  argomento è "Anchor", ovvero in quale cella dovremmo collegarci per creare il collegamento ipertestuale VBA. In questo caso la cella A1 e poiché abbiamo già selezionato la cella A1 per menzionarla come "Selezione".

Codice:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Seleziona Intervallo ("A1"). Seleziona ActiveCell.Hyperlinks.Add (Selection, End Sub 

Passaggio 4: non stiamo creando alcun indirizzo qui, quindi ignora l'indirizzo per ora.

Codice:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Seleziona Intervallo ("A1"). Seleziona ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub 

Passaggio 5: il prossimo è l'indirizzo secondario. Qui dobbiamo menzionare a quale foglio ci riferiamo e la prima cella di quel foglio.

Codice:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Seleziona Intervallo ("A1"). Seleziona ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Sub 

Ho menzionato il nome del foglio come "Foglio principale" e in quel foglio l'indirizzo della cella è "A1".

Passaggio 6: ignora anche il suggerimento sullo schermo. Per visualizzare il testo, menzionare il nome del foglio.

Codice:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Seleziona Intervallo ("A1"). Seleziona ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", TextToDisplay : = "Main Sheet" End Sub 

Ok, fatto eseguire questo codice usando il tasto F5 o manualmente, quindi creerà un collegamento ipertestuale nella cella A1 nel foglio "Esempio 1".

Quando si fa clic sul collegamento ipertestuale "Foglio principale" si reindirizza al foglio principale.

Collegamenti ipertestuali di più fogli con loop

Abbiamo visto la creazione di un collegamento ipertestuale VBA per un foglio. Quando abbiamo molti fogli, è difficile creare un collegamento ipertestuale VBA per ogni foglio con la stessa riga di codice per ogni foglio.

Supponiamo di avere 11 fogli di lavoro come mostrato nell'immagine qui sotto.

Si desidera creare un collegamento ipertestuale per ogni foglio nel foglio indice utilizzando il codice VBA.

Passaggio 1: definire la variabile come foglio di lavoro.

Codice:

 Sub Create_Hyperlink () Dim Ws As Worksheet End Sub 

Passaggio 2: la prima cosa è selezionare l'indice del foglio di lavoro e selezionare la cella A1.

Codice:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Seleziona Range ("A1"). Seleziona End Sub 

Passaggio 3: ora apri For Each Loop in VBA.

Codice:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Select Range ("A1"). Select For Each Ws In ActiveWorkbook.Worksheets Next Ws End Sub 

Passaggio 4: poiché abbiamo già selezionato la cella A1, ora è una cella attiva. Quindi avvia il collegamento ipertestuale con la cella attiva.

Codice:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Seleziona Range ("A1"). Seleziona For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add (Next Ws End Sub 

Passaggio 5: Anchor è una cella di collegamento ipertestuale. Quindi è la cellula attiva.

Codice:

 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 

Passaggio 6: l' indirizzo è niente menzionarlo come "".

Codice:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Seleziona Range ("A1"). Seleziona For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", Next Ws End Sub 

Passaggio 7: il sottoindirizzo è quando scorriamo il foglio dovrebbe essere il nome del foglio. Per fare riferimento al nome del foglio abbiamo bisogno di una virgoletta singola “ ' ” con nome del foglio e “! Indirizzo cella "e chiudere il nome del foglio con una singola virgoletta" ' ".

Codice:

 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 

Passaggio 8: ignorare il suggerimento sullo schermo e per visualizzare il testo è possibile immettere il nome del foglio di lavoro.

Codice:

 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 

Passaggio 9: per memorizzare il collegamento ipertestuale di ciascun foglio in una cella diversa ogni volta che viene creato un collegamento ipertestuale per un foglio, è necessario spostarsi in basso di una cella dalla cella attiva.

Codice:

 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 ActiveCell.Offset (1, 0) .Seleziona Next Ws End Sub 

Questo creerà un collegamento ipertestuale di tutti i fogli nel foglio Indice. Questo codice è dinamico, ogni volta che viene aggiunta o eliminata dei fogli è sufficiente eseguire questo codice per avere un collegamento ipertestuale aggiornato.