richiamare Foglio da una Cella
Hai un problema con Excel? 
richiamare Foglio da una Cella
di SebyxHD data: 20/12/2017 19:47:13
salve, sembra alquanto facile ma non riesco... spero qualcuno mi aiuti.
in una cella di un foglio ho immesso una formula dove ottengo il nome di un foglio che esiste nel file.
il foglio è RIEP2 e la cella è J11 che contiene: ELEB-16-555-ANA4
che sarebbe il nome di un foglio che esiste nel file.
io ho creato un pulsante dove è collegata questa macro..che dovrebbe "portarmi" al foglio che indico nella cella J11. ma non funziona. grazie per l'attenzione
Sub FOGLIOXXX()
Sheets("RIEP2").Select
Dim WS As Worksheet
Set WS = Worksheets(Range("J11"))
Application.Goto ActiveWorkbook.Sheets(WS)
End Sub |
di Marius44 data: 20/12/2017 22:00:38
Ciao Seby
se ho capito cosa vuoi fare prova con la macro sotto.
Fai sapere. Ciao,
Mario
Sub FOGLIOXXX()
Dim WS As Worksheet, rng As String
Set WS = Sheets("RIEP2")
rng = "J11"
Application.Goto WS.Range(rng)
End Sub |
di SebyxHD data: 21/12/2017 09:07:48
ciao Mario, grazie per l'attenzione, ma non funziona.. cioè non succede nulla... in pratica se clicclo il pulsante creato (dove ho associato la macro) lui dovrebbe portarmi in quel foglio dove è indicato in J11.. ma non accade cio'...
io sono autodidatta, e come prima stesura avevo scritto il seguente codice, ma alla riga WS=range("J11") mi da l 'errore: variabile oggetto o variabile del blocco with non impostata. e quindi ho scopiazzato il codice che ho postato prima... pero' quest ultimo è cio' che vorrei fare. Help :)
Sub FOGLIOXXX()
Sheets("RIEP2").Select
Dim WS As Worksheet
WS = Range("F9")
Sheets(WS).Select
End Sub |
di Marius44 data: 21/12/2017 11:16:12
Ciao
Il codice che ti ho suggerito, col pulsante a cui è associato posto in qualsiasi foglio che non sia RIEP, ti porta nel Foglio RIEP alla cella J11. Almeno a me funziona così.
Ora veniamo al tuo codice
Sub FOGLIOXXX()
Sheets("RIEP2").Select '<== questa riga non è necessaria perchè ti ci porta il Goto
Dim WS As Worksheet '<== questa è OK
Set WS = Worksheets(Range("J11")) '<== questa è errata perchè hai dichiarato la variabile WS come Worksheet e non puoi assegnarli ANCHE la cella
Application.Goto ActiveWorkbook.Sheets(WS) '<== questa è errata perchè oltre a quanto detto per il rigo sopra manca l'indicazione della cella
End Sub
Dici che il codice che ti ho suggerito non fa nulla. Mi sembra strano!
Fai così:
seleziona una qualsiasi cella di qualsiasi foglio che non sia RIEP
apri l?editor di VBA (ALT+F11) e cerca la mia macro e seleziona un qualisasi punto dentro la macro
in alto cerca il pulsante Esegui e cliccaci sopra.
Dovresti trovarti nel Foglio("RIEP") con la cella J11 selezionata.
Ciao,
Mario
di SebyxHD data: 21/12/2017 16:25:49
ciao, forse mi sono spiegato male.... al mio click (che si trova su RIEP2) io non devo andare al foglio RIEP2 alla cella J11... questo è quello che fa la macro che mi hai prontamente suggerito. Io vorrei che al mio click andasse al foglio che mi è indicato sulla cella J11 (il suo contenuto è gia il nome del foglio) che ovviamente puo' variare..
di Zer0Kelvin data: 21/12/2017 16:55:37
Ciao.
Dall'help di Excel:
espressione.Goto(Reference, Scroll)
Reference Facoltativo Variant Specifica la destinazione. Può corrispondere a un oggetto Range, a una stringa contenente un riferimento di cella nella notazione in stile R1C1 oppure una stringa contenente un nome di routine Visual Basic....
Da nessuna parte è scritto che Reference può essere il riferimento ad un foglio.
Nella tua macro manca il RANGE.
Prova così
Application.Goto Worksheets(Range("J11")).Range("A1") |
Vuoi Approfondire?