Excel Forum Per condividere esperienze su Microsoft Excel

Inserire valore si apre il foglio

  • Messaggi
  • OFFLINE
    Giacomo Sepe
    Post: 33
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 07/03/2023 16:52
    Ciao a tutti, nel file allegato vorrei che quando scrivo un nome (riferito ai fogli) si apre il foglio corrispondente. Esempio: se cella cella A1 scrivo "Luca" si deve aprire il foglio Luca. Grazie mille
  • ONLINE
    by sal
    Post: 7.155
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 07/03/2023 18:08
    Ciao Luca Manca il file


    Ciao By Sal (8-D

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    rollis13
    Post: 1.316
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 07/03/2023 18:18
    Puoi provare questa macro da mettere nel modulo del foglio dove hai la cella A1.
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
        Sheets(Target.Value).Select
    End Sub

    Per agevolare la scelta del nome puoi anche attivare in cella A1 una convalida con elenco con i vari nomi dei fogli.

    Ps. un saluto a tutti.
    [Modificato da rollis13 07/03/2023 18:19]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    Giacomo Sepe
    Post: 33
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 07/03/2023 18:57
    Inserire valore si apre il foglio
    Ciao @rollis13, ho inserito il tuo codice nel foglio1 ma non succede nulla. Allego il file.
  • OFFLINE
    Marius44
    Post: 1.064
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Veteran
    Excel2019
    00 07/03/2023 19:26
    Ciao
    L'Amico @rollis13 (ciao Rolando) ha detto di inserire il codice "nel Modulo del Foglio dove hai la cella A1" che nel tuo caso è il Foglio4)

    Modificherei il codice così (per evitare che se la cella fosse vuota vada in errore)
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A1")) Is Nothing Or Target = "" Then Exit Sub
        Sheets(Target.Value).Select
    End Sub
    


    Ciao,
    Mario
  • OFFLINE
    Giacomo Sepe
    Post: 34
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 07/03/2023 19:28
    Inserire valore si apre il foglio
    OK. ci sono riuscito. Per tornare di nuovo al foglio1 (sarebbe il foglio principale) come devo fare? Grazie
  • OFFLINE
    rollis13
    Post: 1.317
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 07/03/2023 20:06
    Un saluto a Mario sempre attento alle sviste degli OP.

    @Giacomo Sepe, vedo che non hai fatto granchè per farti un idea su come fare per tornare indietro, un metodo potrebbe essere lo stesso del mio primo suggerimento.
    Se la tua esigenza è quella di saltare da un foglio all'altro a questo punto ora suggerisco di crearti in ogni foglio nella cella A1 una convalida (fatta la prima poi basta anche un Copia/Incolla) con tutti i nomi dei vari fogli, compreso il Foglio1, ed usare solo quest'altra macro da mettere questa volta solo nel modulo "Questa_cartella_di_lavoro" (Thisworkbook):
    Option Explicit
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        If Intersect(Target, Range("A1")) Is Nothing Or Target = "" Then Exit Sub
        Sheets(Target.Value).Select
    End Sub
    [Modificato da rollis13 07/03/2023 20:09]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    Giacomo Sepe
    Post: 35
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 07/03/2023 20:22
    Inserire valore si apre il foglio
    Faccio presente che il file contiene circa 600 fogli. Ora mi domando se vado aprire il foglio 598 come faccio ad arrivare in automatico al foglio1 (sarebbe quello di partenza) ? Ho creato anche una convalida dati nel foglio1 cella A1 ma non succede nulla. Grazie
    [Modificato da Giacomo Sepe 07/03/2023 20:23]
  • OFFLINE
    alfrimpa
    Post: 4.884
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 07/03/2023 21:25
    Per me devi usare una userform (da visualizzare con una scorciatoia tipo Alt+lettera) con un pulsante al suo interno che cliccato selezioni il primo foglio da qualsiasi foglio tu sia.

    Alfredo
  • OFFLINE
    Giacomo Sepe
    Post: 36
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 07/03/2023 21:44
    Ciao @alfrimpa, purtroppo di vba non sono proprio a conoscenza
  • OFFLINE
    L2018
    Post: 469
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 07/03/2023 21:56
    @Sepe

    ciao
    ti invio il tuo file con l'aggiunta di una macro che,in qualsiasi foglio tu ti trovi, premendo CTRL+ m ti chiede a quale foglio vuoi andare, e ci va

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    rollis13
    Post: 1.318
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 07/03/2023 23:21
    600 fogli !! sei sicuro di aver ben analizzato il progetto prima di attivarti ?
    Vista la macro suggerita da @L2018 forse è proprio quella che fa per te.

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    Giacomo Sepe
    Post: 37
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 08/03/2023 13:40
    Inserire valore si apre il foglio
    Ciao @L2018, il tuo codice è andato bene. Ora avrei un altro problema. Dovrei rinominare i fogli con gli stessi nomi della colonna "A" ad uno ad uno, visto che sono molti come devo fare? Grazie mille
  • OFFLINE
    L2018
    Post: 470
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 08/03/2023 14:30
    ah, guarda, proprio non saprei, non sono affatto esperto di VBA
    La macro che ti ho mandato non l'ho fatta io, l'ho cercata apposta su Google, perchè quando non so rimediare cerco su google
    Aspettiamo l'intervento dei veri bravi

    Leo

    Intanto ti suggerirei modestamente di mettere ordine nel tuo file, cioè rimettere in ordine la lista dei fogli, compreso la mia macro e se vuoi anche la formula di Rollis, perchè penso che un automatismo che rinomina i fogli voglia trovare un elenco ordinato di nomi
    Poi, incuriosito come al solito da qualsiasi problema io cerco, ma prova anche tu a cercare.

    Leo
    [Modificato da L2018 08/03/2023 14:42]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    Giacomo Sepe
    Post: 38
    Registrato il: 09/09/2022
    Età: 45
    Utente Junior
    2019
    00 08/03/2023 14:30
    Inserire valore si apre il foglio
    Ho risolto. Grazie a tutti e soprattutto a L2018
  • OFFLINE
    L2018
    Post: 471
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 08/03/2023 14:44
    grazie del riscontro, ma qualcuno potrebbe osservare che è elegante comunicare la soluzione, a beneficio di tutti


    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    alfrimpa
    Post: 4.885
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 08/03/2023 18:18
    L2018

    Però anche tu avresti dovuto mostrare la macro che è nel file allegato al post 11.

    Se si è da cellulare come si fa a vedere il codice?

    Alfredo
  • OFFLINE
    L2018
    Post: 472
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 08/03/2023 18:48
    @Alfrimpa

    scusa, vuoi dire mostrarla qui in chiaro ?

    Leo

    macro
    Sub GotoSheet()
        Dim xRet As Variant
        Dim xSht As Worksheet
        xRet = Application.InputBox("Vai a questo foglio")
        On Error Resume Next
        If xRet = False Then Exit Sub
        On Error GoTo 0
        On Error Resume Next
        Set xSht = Sheets(xRet)
        If xSht Is Nothing Then Set xSht = Sheets(Val(xRet))
        If xSht Is Nothing Then
            MsgBox "Non esiste"
        Else
            xSht.Activate
        End If
    End Sub

    [Modificato da L2018 08/03/2023 18:55]

    LEO
    https://t.me/LordBrum