Macro per collegamenti ipertestuali
Hai un problema con Excel? 
Macro per collegamenti ipertestuali
di DOMENICO_FALCO (utente non iscritto) data: 14/07/2013 04:38:00
Salve a tutti per prima cosa e grazie per i vostri innumerevoli articoli utilissimi :)
Arrivo subito al dunque, ho creato in un foglio excel una gestione appuntamenti e fra i vari campi ho messo anche il campo note.
Adesso desidero creare una macro che magari parte con una userform, che mi crei in automatico in un altro foglio un collegamento ipertestuale ad una specificata cella in cui vado a scrivere poi la nota.
Così se sto sul foglio uno e clicco su una cella della liste delle note, mi si apre in automatico il foglio2 in cui compare solo la nota richiesta.
il foglio1 è così impostato :
ANNO 2013
DATA GIORNO ORA INTERESSATO NOTE
01-gen Martedi 10,00 Docente x Si
02-gen Mercoledi 11,00 Direttore
03-gen Giovedi 1 13,00 Direttore y Si
Dove la parola : " Si " sia in effetti il collegamento al foglio due della cella (x, y) dove è scritta la nota inerente.
Sotto ho scritto i codici vba ma sicuramente nella seconda macro c'è un errore di sintassi, mi aiutate per cortesia.
Grazie Domenico.
Sono partito da questo codice specifico per una cella :
Sub COLL_CELLE()
Range("J20").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Foglio1!A1", TextToDisplay:="Si"
End Sub
e ho cercato di generalizzarla così :
Sub COLL_CELLE1()
Cells(Selection.Row, 5).Select
x = Cells(Selection.Row, 5).Row
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Foglio2!.Cells(x,1)", TextToDisplay:="Si"
End Sub
|
di Vecchio Frac data: 17/07/2013 16:17:52
Nella seconda macro, è inutile ricalcolare la Row di Cells(Selection.Row, 5), perchè il dato ce l'hai già: è Selection.Row semplicemente ^_^
Nel passaggio successivo, devi inserire nella costruzione della stringa da passare al SubAddress la variabile x e lo devi fare concatenando i valori, non mettendo la x dentro la stringa (altrimenti non viene recuperato il suo valore).
Questa è la correzione materiale al tuo codice.
Se poi faccia davvero quel che vuoi, non lo so.... prova e fai sapere ^_^
Secondo me ci sono metodi alternativi (senza passare da un hyperlink ad esempio... magari basta un doppio clic sulla cella).
Sub COLL_CELLE1()
Cells(Selection.Row, 5).Select
x = Selection.Row
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Foglio2!.Cells(" & x & ",1)", TextToDisplay:="Si"
End Sub |
Vuoi Approfondire?