mercoledì 27 giugno 2018

vba Crea Link Valori Foglio

'

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

'

 

Nessun commento:

Posta un commento