ATTIVARE FOGLIO DAL NOME CONTENUTO IN CELLA

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
sebyx75
00martedì 16 gennaio 2018 17:57
salve, avrei la necessita' di visualizzare il foglio (attraverso un click su un pulsante gia' esistente) tramite il contenuto (variabile) di una cella.

mi spiego meglio (spero):
- nella cella "F9" mi calcola (attraverso formule) il nome del
foglio nel quale vorrei visualizzare quello che cerco.

- questa cella si trova nel foglio "RIEP2"

- esempio: se IN "F9" mi scrive "ELEB-16-5" io vorrei che al mio
click sul pulsantino mi andra' al foglio "ELEB-16-5" Che ovviamente esiste.

Sub FOGLIOXXX()
Sheets("RIEP2").Select
Dim FOGLIO As Worksheet
FOGLIO = Range("F9")
Sheets(FOGLIO).Select
End Sub

avevo scritto queste routine da autodidatta.... ma non funziona..

grazie per l'attenzione.
cromagno
10martedì 16 gennaio 2018 21:37
Ciao,
uno dei tanti modi di scrivere questa riga di codice:
Sub AttivaSheet()
    Worksheets(Range("F9").Value).Select
End Sub


se non ti funziona, allega un file d'esempio...

Ciao
Tore
Zer0kelvin
10martedì 16 gennaio 2018 23:29
Ciao.
Visto che potrebbe interessarti ti spiego perchè il tuo codice non funziona.
Dim FOGLIO As Worksheet
FOGLIO = Range("F9") 
Dichiari una variabile di tipo Worksheet, che quindi è destinata a contenere un oggetto Worksheet (foglio).
Tenti di assegnare alla variabile il contenuto della cella F9 che è un testo, quindi un tipo incompatibile con quello dichiarato per la variabile Foglio.
Volendo prendere a modello il tuo codice, la macro corretta sarebbe
Sub FOGLIOXXX()
Dim FOGLIO As String ' le dichiarazioni è meglio metterle tutte a inizio routine
Sheets("RIEP2").Select
FOGLIO = Range("F9")
Sheets(FOGLIO).Select
End Sub 
Togliendo tutto il superfluo, il codice corretto è quello scritto da Cromagno.
tanimon
10mercoledì 17 gennaio 2018 08:14
ciao,
ed un saluto a Cromagno e Marco [SM=g27811]

Una alternativa da inserire nel modulo del foglio interessato
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim sh As String

sh = Range("a1").Value

With Sheets(sh)
    .Activate
End With

End Sub



ciao
Frank
sebyx75
00mercoledì 17 gennaio 2018 09:19
grazie a tutti per le risposte, ho usato il suggerimento di cromagno..e funziona benissimo... grazie ancora ragazzi..
sebyx75
00mercoledì 17 gennaio 2018 09:23
volevo chiedere a Zer0kelvin se potesse suggerirmi un manuale da leggere per quanto concerne il Vba.. ne ho preso uno che non mi ha soddisfatto al max.. (giusto per non buttare soldi inutili) grazie..
alfrimpa
10mercoledì 17 gennaio 2018 09:35
Re:
sebyx75, 17/01/2018 09.23:

volevo chiedere a Zer0kelvin se potesse suggerirmi un manuale da leggere per quanto concerne il Vba.. ne ho preso uno che non mi ha soddisfatto al max.. (giusto per non buttare soldi inutili) grazie..



Intanto potresti cominciare a dare uno sguardo qui dove trovi un corso sul VBA (ovviamente non esaustivo in tutto e per tutto ma ottimo per iniziare) che puoi scaricare anche in PDF

http://forum.wintricks.it/showthread.php?t=155252


sebyx75
00mercoledì 17 gennaio 2018 09:43
grazie alfredo...proprio quello che cercavo.. ^_^ [SM=x423028]
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 16:53.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com