Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[VBA Excel] Auto-Collegamenti ipertestuali fogli di calcolo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[VBA Excel] Auto-Collegamenti ipertestuali fogli di calcolo

Postdi Lorevigo » 08/03/17 21:05

Ciao a tutti, dopo aver trovato tante soluzioni nel forum che si sono sempre rivelate perfette ,magari con qualche adattamento, mi trovo in una situazione di stallo per cui provo a chiedere aiuto per trovare una soluzione al mio dilemma.

E' da tempo che sto curando ed implementando un grosso file di comparazione valori che sto automatizzando con diverse macro che si interfacciano tra di loro. Ora il problema è incentrato su una cosa apparentemente banale ma che mi sta facendo impazzire: i collegamenti ipertestuali tra un foglio e l'altro nella stessa cartella di lavoro.

La situazione è la seguente:

In una stessa cartella di lavoro ho un foglio che si chiama "TOTALE" in cui è presente una tabellina contenente una lista di voci (variabili di volta in volta in base al processo automatizzato precedente che carica i dati da analizzare) e dei numeri correlati nella colonne adiacenti. Dei numeri in questo frangente non ci interessa, mentre delle voci si.
Queste voci sono composte da un codice, due punti e poi il nome. Per Es: "01 : Pippo" oppure "03 : Pluto". La loro formattazione è sempre questa, ne cambiano solo i codici (sempre di due cifre), il nome e la posizione in altezza nel foglio ( per es. possono occupare da A20 ad A30 o da A20 ad A25 o da A35 ad A38 etc).

Nella cartella di lavoro troviamo diversi fogli nominati con un codice e un nome (01 tesoro, 01 moneta,03 tesoro, 03 moneta,etc.). Il codice è sempre uno tra quelli inseriti nei nomi della tabella del foglio TOTALE di cui sopra.

Il risultato che vorrei riuscire ad ottenere è quello di creare una macro che vada a creare a sua volta dei collegamenti ipertestuali con origine sulla voce della tabella nel foglio TOTALE di cui corrisponde il codice (ES: "01 : Pippo") e con destinazione nel foglio di cui sempre corrisponde il codice e che in più ha dopo il codice (variabile) il nome "tesoro" (fisso) (ES: "01 tesoro").

Questo per tutti i fogli presenti al momento del lancio della macro e che soddisfano i requisiti di cui sopra.

Leggendo nel forum sono solo riuscito a creare un indice che però non mi serve a molto per quello che devo ottenere purtroppo.....

Allego un file con gli elementi che rappresenta schematicamente la mia situazione di partenza ed un foglio con definita la situazione che dovrebbe presentare alla fine ovviamente secondo un solo scenario dei miliardi possibili.

Qualsiasi aiuto o idea è più che ben accetta anche se capisco che la cosa sia complicata e probabilmente espressa anche in maniera non troppo chiara.

Ringrazio tutti anticipatamente,
Lorenzo

ESEMPIO SITUAZIONE INIZIALE: http://www.filedropper.com/esempio_1
ESEMPIO SITUAZIONE FINALE: http://www.filedropper.com/esempio2
Lorevigo
Newbie
 
Post: 3
Iscritto il: 08/03/17 20:30

Sponsor
 

Re: [VBA Excel] Auto-Collegamenti ipertestuali fogli di calc

Postdi recalcatiiti » 09/03/17 14:50

Ciao Lorenzo,

ho provato più volte a scaricare i tuoi files d'esempio, ma la loro dimensione è 0 KB, mi è impossibile aprirli. Dovresti ripetere l'upload.

Ciao, a presto
Excel 2010
recalcatiiti
Utente Junior
 
Post: 82
Iscritto il: 12/10/15 15:03

Re: [VBA Excel] Auto-Collegamenti ipertestuali fogli di calc

Postdi Anthony47 » 09/03/17 15:06

Anche a me risultano vuoti...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16510
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [VBA Excel] Auto-Collegamenti ipertestuali fogli di calc

Postdi Lorevigo » 09/03/17 15:27

Scusatemi molto, non saprei come mai ma anche a me da lo stesso errore ! Ricaricati ora e fatto test. Download funzionante !
Ecco i nuovi link:

ESEMPIO DI PARTENZA: http://www.filedropper.com/esempio_2
ESEMPIO FINALE: http://www.filedropper.com/esempio2_1

Grazie per la segnalazione e per l'interessamento ! Per qualsiasi altra cosa non esitate a chiedere ;)
A presto
Lorevigo
Newbie
 
Post: 3
Iscritto il: 08/03/17 20:30

Re: [VBA Excel] Auto-Collegamenti ipertestuali fogli di calc

Postdi Anthony47 » 10/03/17 01:41

Puoi ottenere quanto detto con una macro come questa:
Codice: Seleziona tutto
Sub SetHLink()
Dim myRan As Range, Cella As Range
'
fixD = " tesoro'!"            '<<< Il suffisso del foglio di destinazione
'
Set myRan = Selection
For Each Cella In myRan
    Cella.Select
    If InStr(1, Cella.Value, ":", vbTextCompare) > 0 Then
        dest = "'" & Trim(Split(Cella.Value & " :", ": ", , vbTextCompare)(0)) & fixD & "A1"
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
            dest, TextToDisplay:=Selection.Value
    End If
Next Cella
End Sub

Va inserita in un modulo standard del vba; poi all'occorrenza:
-selezioni l'elenco di celle su cui vuoi inserire l'hyperlink
-esegui la Sub SetHLink

Il file andra' salvato in formato ".xlsm" (macro enabled)

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16510
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [VBA Excel] Auto-Collegamenti ipertestuali fogli di calc

Postdi Lorevigo » 10/03/17 12:22

Ciao, grazie mille è perfetto e funziona benissimo !

C'è solo un particolare che non mi permette di integrare bene la funzione e cioè che bisogna selezionare manualmente le celle su cui si vuol far agire la macro. Vorrei provare ad ovviare a questo problema.... ho fatto dei tentativi ma non ho ottenuto un gran successo.

Quando andiamo a definire il range di azione
Codice: Seleziona tutto
Set myRan = Selection
sarebbe possibile invece di utilizzare la selezione, come definitorio,mettere una variabile selettiva che vada a confrontare le prime due cifre dei nomi dei fogli (01;03;05; etc) con le prime due cifre dei nomi che abbiamo nella tabella ? ( 01;03;05 etc) Della serie: ciclo che legge le prime due cifre di ogni foglio e le confronta con le prime due cifre di tutti i nomi presenti nella tabellina nel foglio TOTALE, per quelli per cui c'è corrispondenza esegue la macro che mi hai già fornito mentre per quelli in cui non c'è corrispondenza passa oltre con la ricerca.

Mi spiace ma ho proprio la necessità che il processo sia totalmente automatizzato e che quindi individui autonomamente le celle su cui applicare l'hyperlink.

Nel frattempo continuo a fare dei tentativi e se trovo un modo vi faccio sapere ! Grazie mille e per qualsiasi chiarimento contattami quando vuoi ;)
Lorevigo
Newbie
 
Post: 3
Iscritto il: 08/03/17 20:30

Re: [VBA Excel] Auto-Collegamenti ipertestuali fogli di calc

Postdi Anthony47 » 15/03/17 18:22

Stava finendo nel dimenticatoio...

Per sostituire Selection con altra area avrei bisogno di sapere con quale logica qualcuno/qualcosa compila l'elenco sui cui applicare l'hyperlink. Esempio: sono sempre in colonna XXX, da riga YYY in avanti?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16510
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[VBA Excel] Auto-Collegamenti ipertestuali fogli di calcolo":

Excel
Autore: fra.dibia
Forum: Software Windows
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti