richiamare Foglio da una Cella



  • 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")