Collegare automaticamente fogli



  • Collegare automaticamente fogli
    di Srincek7 (utente non iscritto) data: 02/01/2013 01:19:59

    Salve a tutti. Sono Valentino da Roma. Ringrazio anticipatamente chi può aiutarmi sul problema seguente. Premetto che apparte l'utilizzo classico di excel non ho conoscenze di programmazione quindi abbiate pietà di me! Devo creare un percorso attraverso il quale scrivendo un nome in una cella del primo foglio del file e premendo invio automaticamente vado al foglio di riferimento di quel nome. Esempio: Ho piu fogli excel in uno stesso file ognuno nominato con il nome di un aeroporto: FIUMICINO MILANO NAPOLI etc.. nei fogli di questi aeroporti ci sono informazioni relative ad essi. Vorrei quindi (dal momento che gli aeroporti sono una settantina) creare in un primo foglio del file (ipotetica copertina) una cella attraverso la quale scrivendo il nome FIUMICINO e premendo ad esempio invio automaticamente si visualizza la pagina di FIUMICINO al fine di leggere ciò che ce scritto senza andare a cercare il foglio di riferimento (FIUMICINO) scorrendo a destra e sinistra. E' possibile farlo con Visual Basic?
    Una mia ulteriore difficoltà risiede nel fatto che non conosco il codice del visual basic non essendo il mio lavoro.
    Ringrazio anticipatamente chiunque può aiutarmi al riguardooo. Grazia ancora. Valentino.



  • di HarryBosch data: 02/01/2013 10:04:04

    Ciao Valentino
    si potrebbe agire sull'evento "Change" della singola cella.
    Ad esempio, supponendo di scrivere il nome del foglio nella cella A1 potresti utilizzare la routine sotto, da copiare all'interno del modulo del foglio HOME, ovvero quello che funge da "copertina", utilizzando il tuo termine.

    Comunque, io preferirei agire su una casella combinata; ovvero, scegliere il nome del foglio da un elenco a discesa.
    Ciò consentirebbe di visualizzare tutti i nomi presenti e di evitare scritture errate del nome cercato.
    Se ti interessa, ti preparo un file di esempio.
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        On Error Resume Next
        If Target.Address = "$A$1" Then Sheets(Target.Value).Select
    End Sub
    



  • di Vecchio Frac data: 02/01/2013 11:54:28

    ...però "Aiutooo - leggere il messaggio per dare aiuto" non è un titolo adatto.
    Soprattutto per eventuali ricerche future di questo thread.
    Qualcosa tipo "Selezionare automaticamente un foglio" sarebbe stato più indicativo... e se cerchi bene discussioni simili sono già passate.





  • di Srincek7 (utente non iscritto) data: 02/01/2013 22:40:34

    Ciao e grazie per la risposta. Lo scopo del foglio di lavoro è quello di calcolare il vento a traverso su di una pista di un determinato aeroporto inserendo le variabili di direzione e intensità del vento. A livello matematico e di formule è tutto già fatto, ma attualmente gli aeroporti sono tutti in un foglio lungo una unica colonna (quindi la ricerca dell'aeroporto avviene per scorrimento). Vorrei evitare la ricerca per scorrimento perché è più utile per l'ufficio che la ricerca avvenga inserendo il nome dell'aeroporto. Il problema è che non so proprio come fare a fare ciò che ho scritto sopra. Grazie ancora.



  • di Vecchio Frac data: 02/01/2013 22:56:56

    HarryBosch ti ha dato la soluzione pronta.
    Apri il file, premi Alt-F11 per accedere all'editor di codice, premi Ctrl-R per accedere alla finestra dei progetti, individua il primo foglio del file (la tua "copertina"), nel quale scriverai, poniamo in A1, il nome dell'aeroporto che corrisponde al nome del foglio da raggiungere. Fai un doppio click, si apre una pagina bianca.
    Copia-incolla lì il codice di HarryBosch.
    Premi Alt-F4 per chiudere l'editor di codice.
    Fai un test: apri il foglio di "copertina"; scrivi "FIUMICINO " in A1 e premi Invio.
    Si visualizzerà all'istante il foglio chiamato "FIUMICINO".
    E' necessario che il foglio esista e che abbia quel nome, inoltre attento a non aggiungere spazi non necessari.
    Altrimenti non succede niente :) (è il senso dell'istruzione On Error).
    Rifletti comunque sulla maggior sofisticazione e robustezza che devi dare al codice per evitare di inserire nomi di fogli inesistenti o scritti male (considera seriamente l'alternativa già suggerita da HarryBosh di una convalida dei dati direttamente in cella).






  • di Srincek7 (utente non iscritto) data: 03/01/2013 01:20:45

    Grazie. Effettivamente funziona e molto bene

    Grazie ancora, un giorno mi toccherà leggermi un pò di programmazione spiccia al fine di non disturbarvi più. Grazie.