Creare Macro particolare



  • Creare Macro particolare
    di ANDREAFURLA data: 07/08/2014 11:25:39

    Salve, spero che mi potiate aiutare.
    Sto cercando di creare una macro che mi permette di fare cio:
    Ho il primo foglio che ho chiamato "selezione" dove ho inserito un elenco di ditte che visualizzo in un unica cella con modalità a tendina.
    Poi ho creato successivi fogli di lavoro, tanti quanti sono le ditte che ho nell'elenco.
    Vorrei che selezionando una ditta nell'elenco a tendina excel mi porti al corrispettivo foglio dove ho i dati della ditta stessa. E' POSSIBILE?

    Sperando di essere stato chiaro,
    Saluti
    Andrea



  • di lepat (utente non iscritto) data: 07/08/2014 11:59:30

    è possibile, ma allega un file di esempio per poter testare la macro



  • di Lucas87 data: 07/08/2014 12:04:15

    Le potature le fanno i giardinieri...
    Grammatica a parte...

    cambia l'indirizzo della cella
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("indirizzo cella tendina") Then Sheets(Target).Select
    End Sub



  • di andreafurla (utente non iscritto) data: 08/08/2014 08:30:01

    scusate l'errore di grammatica ma a volte scrivendo in velocità puo capitare, beato chi non sbaglia mai..
    allego il file cosi da poter visionare ed aiutarmi...sottolinea che excel per me è arabo
    grazie



  • di Lucas87 data: 08/08/2014 08:40:22

    Ciao
    La mia era solo una battuta...tutto ok
    Hai detto che non sai nulla di excel, ma che hai anche provato a fare una macro...è un po' una contraddizione.
    A che punto ti sei bloccato?
    Presumo che la tua richiesta valga per tutti e 4 i menù a tendina che ci sono sul foglio (arredo, idraulica, riscaldamento, sanitari), però i fogli delle ditte non ci sono tutti. Magari è solo un foglio di esempio.



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 08:50:03

    Ok ti perdono Scherzo....
    Si vale per tutti e 4 i menu a tendina e non ho finito di inserire tutti i fogli per le altre ditte..
    volevo capire come fare dopodichè proseguire con il realizzare e terminare tutto il file...
    E' complicato?



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 08:58:37

    Nel file che ho mandato ci sono gia pronti i menu a tendina per le 4 categorie ma i fogli creati sono solo quelli riferiti all'arredo,volevo continuare a inserire i fogli per le ditte di idraulica,riscaldamento e sanitari e poi per tutti e 4 i menu a tendina aver la possibilità di selezionare una ditta e portarmi direttamente al foglio corrispettivo, chiaramente lavorando su un singolo menu alla volta..



  • di Lucas87 data: 08/08/2014 09:06:18

    Io il codice ce l'ho già pronto...se vuoi posso dartelo subito.
    Se invece vuoi provarci tu considera che il menù a tendina di quel tipo (si chiama convalida dati) è considerato come una qualsiasi cella.
    In VBA esiste un evento che si attiva quando il valore di una cella viene modificato
    Private Sub Worksheet_Change(ByVal Target As Range)
    a questo evento viene "passato" un dato, con nome Target, che corrisponde alla cella modificata.
    Quello che devi fare è fare un controllo sul target per verificare che corrisponda alle tue celle (quelle con gli elenchi) per evitare che l'operazione venga fatta quando modifichi altre celle.
    A questo punto devi usare il valore della cella modificata per indicare quale foglio selezionare.
    NB: il nome del foglio deve essere uguale a quello presente nell'elenco: lettere, spazi, simboli,... Maiuscole e minuscole sono ininfluenti



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 09:21:57

    Ma se il codice è gia pronto e me lo puoi dare mi faresti una cortesia tanto excel non lo uso quasi mai, la ditta ha bisogno di questo foglio per velocizzare e semplificare la ricerca dei dati delle ditte.
    Se puoi girarmi il codice e dirmi come inserirlo mi faresti un immenso piacere.
    Poi scusa ma di cio che mi hai scritto e spiegato non ho capito tanto (target,....ecc)
    Quindi se mi puoi aiutare senza che ti faccio perdere tempo prezioso



  • di Lucas87 data: 08/08/2014 09:24:56

    Apri il file
    Premi Alt+F11
    Nella finestra che si apre sulla sinistra trovi l'elenco dei fogli
    Due click sul foglio dove si trovano i menù a tendina
    sulla finestra bianca che compare a destra incolla il codice
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("c6") Or Target = Range("e6") Or Target = Range("g6") Or Target = Range("i6") Then
        Sheets("" & Target & "").Select
    End If
    End Sub
    



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 09:39:46

    Ok ho fatto cio che mi hai detto,una volta copiato devo cliccare su esci e torna ad excel o fare altre operazioni?



  • di Lucas87 data: 08/08/2014 09:50:32

    Chiudi l'editor
    salva
    usa il foglio



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 09:59:29

    Grazie mille molto gentile,un ultima cosa, quando salvo il file mi dice impossibile salvare le caratteristiche in cartelle di lavoro senza macro.
    devo fare un salva con nome e indicare file con macro?



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 10:06:46

    OK FATTO TUTTO GRAZIE MILLE



  • di ANDREAFURLA (utente non iscritto) data: 08/08/2014 10:07:13




  • di Lucas87 data: 08/08/2014 10:15:55

    Devi salvarlo con estensione .xlsm