macro collegamenti ipertestuali
Hai un problema con Excel? 
macro collegamenti ipertestuali
di wubix (utente non iscritto) data: 22/01/2017 17:51:32
buongiorno a tutti e complimenti per il forum che ogni tanto uso grazie alla funzione di ricerca.
premetto che non sono un grande esperto, ma "ci provo".
ho creato un file con molti fogli di lavoro, alla fine c'è un file "report" che viene alimentato da una macro che sostanzialmente mi pesca:
nomi dei fogli
contenuto di alcune celle
mi colora le celle del foglio report con gli stessi colori della linguetta foglio e delle celle corrispondenti.
quanto sopra funziona correttamente.
avrei una ulteriore necessità però, dato che il file contiene molti fogli, quando devo trovarne uno devo sempre scorrerne molti, mi è quindi venuto in mente che potrei inserire dei collegamenti ipertestuali in corrispondenza delle celle con il nome del foglio.
ovviamente facendolo a mano è semplice e funziona, però la menata è che devo farlo per tutti i fogli uno ad uno .
secondo voi c'è la possibilità di automatizzare il processo?
grazie
Walter
di mabolsie data: 22/01/2017 17:57:49
Ciao una soluzione sarebbe fare una macro con un ciclo for each che ti cerchi il foglio e lo selezioni.
allega se puoi un file esempio.
Ciao Max
di Albatros54 data: 22/01/2017 18:13:04
h t t p://www.excelvba.it/Forum/story/Visual_Basic_for_Applications/Macro_per_collegamenti_ipertestuali.html.
Potresti cominciare da qua!!
Ciao
albatros54
di wubix (utente non iscritto) data: 22/01/2017 20:02:41
ciao e grazie
ho dato un'occhiata al link, ma non credo faccia al caso mio perché lì si va a automatizzare una cella ben precisa.
io vorrei che nella mia tabella finale, ci sia la possibilità di automatizzare la creazione di un link nel campo "nome foglio", ovvero cliccando su folio1 mi deve aprire il foglio1
questa macro deve essere indipendente da quella che mi crea la tabella nel foglio "report", preferirei poterla lanciare successivamente.
codice nome foglio
WPLA2HW5404 foglio1
WFLA2HW5405 foglio2
WRLA4HW5410 foglio3
WRLA4HW5411 foglio4
grazie per la pazienza
W
di mabolsie data: 22/01/2017 20:08:06
... quindi se ho ben capito hai una colonna con i codici e vorresti che cliccandoci sopra ti apra il foglio collegato ?
di mabolsie data: 22/01/2017 20:41:48
ciao sarò cocciuto però ti ho allegato un file che farebbe al caso tuo senza rompersi la testa contro le ancore.
provalo.
Ciao Max
di Albatros54 data: 23/01/2017 08:33:54
vado di fretta, prova il codice sotto, studialo
ciao
albatro54
Sub mIndiceFogli()
Dim sh As Worksheet
Dim lRiga As Long
lRiga = 1
With ActiveSheet
.Cells.Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> .Name Then
.Range("A" & lRiga).Hyperlinks.Add _
Anchor:=.Range("A" & lRiga), _
Address:="", _
SubAddress:=sh.Name & "!a1", _
TextToDisplay:=sh.Name
lRiga = lRiga + 1
End If
Next
End With
Set sh = Nothing
End Sub |
di wubix (utente non iscritto) data: 23/01/2017 20:19:06
ciao e grazie
ho provato la macro, purtroppo non funziona, nel senso che crea i link ma poi cliccandoci sopra non mi apre il foglio (non succede niente, da un errore generico).
poi mi fa sparire tutto quello che ho sul foglio
ho provato a lavorarci, anche per spostare l'elenco sulla colonna B e partendo dalla riga 2 (colonna B ok, riga2 mi da un errore)
adesso ci riprovo ancora...
grazie ancora
W
di wubix (utente non iscritto) data: 23/01/2017 21:00:02
x mabolsie
scusa ma inizialmente non vedevo il file allegato
ok, ho importato il foglio "matrice" nel mio documento, FUNZIONA, nel senso che devo fare copia/incolla della lista dei codici dal foglio "report", poi devo selezionare il nome del foglio (ahimè nel tuo esempio erano 123 e si potevano inserire a manina, nella mia realtà i nomi dei fogli sono descrittivi e alfanumerici) e copiarlo, poi premere "cerca codice" incollare il nome e OK, il foglio si apre.
meglio di prima? certamente
un po' macchinoso? insomma...
l'idea iniziale era più interessante, moooolto più veloce, soprattutto se hai il capo dietro le spalle che vuole immediatamente QUELLA scheda però siccome a caval donato non si guarda in bocca intanto uso questa, se poi qualche altra anima buona vuole provarci a risolvere sarò ancora più felice.
grazie
W
di mabolsie data: 23/01/2017 21:09:49
Bene !!!
Ciao Max
di mabolsie data: 23/01/2017 22:24:14
Ciao Wubix ti ho riallegato lo stesso file con una modifica per non farti fare il copia incolla.
praticamente premendo il pulsante ora ti si apre un form con l'elenco dei tuoi codici, non fai altro che sceglierli e premere il pulsante cerca...
Ciao max
di wubix (utente non iscritto) data: 24/01/2017 15:30:40
ciao
ti ringrazio molto, il tuo file funziona, ma se tento di esportare il foglio "matrice" dentro nel mio, mi da un errore "manca oggetto" e mi apre la pagina VBA di debug con questo testo:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
scusa ma ho provato diverse soluzioni ma continua a darmi errore.
grazie ancora
W
di mabolsie data: 24/01/2017 18:20:42
certo, non basta copiare il mio file matrice, è solo un esempio. Devi aprire l'editor vba e crearti la userform con una combobox ed un commandbutton, poi copi il codice nel commandbutton della userform e apri le proprietà della combobox nella proprietà row source metti il range dove sono i tuoi codici nel foglio master .
provaci e fammi sapere.
Ciao Max
Vuoi Approfondire?