'
Option Explicit
'
Sub CreaLinkValoriFoglio()
' vba - crea collegamenti incrociati tra due fogli.
'
' esempio di come è stata ottenuta la riga di riferimento, ecco la formula
' ActiveCell.FormulaR1C1 = "=MATCH(RC[-4],studio!C[-12],0)"
'
Dim quanterighe, contarighe, foglio, contacolonne, quantecolonne, contenuto
Dim indirizzostudio, indirizzoazienda
'
Dim sfoglio
Set foglio = Sheets("azienda")
Set sfoglio = Sheets("studio")
'
Dim colonnaazienda, colonnastudio, colonnastudioritornoazienda
colonnaazienda = "P" ' colonna in cui si trova il numero
colonnastudio = "D"
colonnastudioritornoazienda = "F" ' colonna del foglio studio in cui scrivere il link di ritorno al foglio azienda
'
foglio.Activate
'
quanterighe = Range(foglio.UsedRange.Cells(foglio.UsedRange.Rows.Count, 1).Address).Row
quantecolonne = Range(foglio.UsedRange.Cells(1, foglio.UsedRange.Columns.Count).Address).Column
'
contarighe = 2
While contarighe <= quanterighe
contenuto = foglio.Cells(contarighe, colonnaazienda).Value ' la cella contiene il numero riga del foglio in cui si trova il valore
If Len(Trim(contenuto)) > 0 Then
indirizzoazienda = "azienda!" & foglio.Cells(contarighe, colonnaazienda).Address
indirizzostudio = "studio!" & sfoglio.Cells(contenuto, colonnastudio).Address
foglio.Activate
foglio.Cells(contarighe, colonnaazienda).Activate
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
indirizzostudio, TextToDisplay:=indirizzostudio
sfoglio.Activate
sfoglio.Cells(contenuto, colonnastudioritornoazienda).Activate
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
indirizzoazienda, TextToDisplay:=indirizzoazienda
End If
contarighe = contarighe + 1
Wend
'
'
End Sub
'