Ho solo bisogno di attivare un certo foglio di lavoro. Ho una variabile stringa che mantiene il nome del foglio di lavoro.
La seguente Macro vi aiuterebbe?
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
Fondamentalmente vuoi fare uso della funzione .Activate. Oppure puoi usare la funzione .Select in questo modo:
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Ti consiglierei di usare l'indice del foglio di lavoro invece di usare il nome del foglio di lavoro, in questo modo puoi anche fare un ciclo attraverso i fogli "dinamicamente"
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Inoltre, migliorerà le prestazioni.
Un modo alternativo per collegare (non dinamicamente) un testo per attivare un foglio di lavoro senza macro è quello di rendere la stringa selezionata un vero e proprio collegamento. Potete farlo selezionando la cella che contiene il testo e premendo CTRL+K poi selezionate l'opzione/tab 'Posto in questo documento' e selezionate la scheda che volete attivare. Se clicchi sul testo (che ora è un link) il foglio configurato diventerà attivo/selezionato.