Esecuzione automatica di una macro



  • Esecuzione automatica di una macro
    di lillo (utente non iscritto) data: 23/10/2012 17:31:23

    Amici, sono Lillo e desidero il Vs. aiuto per risolvere il mio problema.Foglio1 di Excel, nella cella A4 c'è una casella combinata dove sono elencati i dodici mesi; nella cella M4 c'è il numero di riferimento al mese, es. 1 per gennaio. Quello che voglio è che quando il valore della cella M4 è uguale ad 11, deve eseguire automaticamente, senza pulsante, la macro che mi permette di copiare i valori di alcune colonne. Spero essere stato chiaro ed in attesa di un Vs. prezioso aiuto, ringrazio anticipata-mente .Lillo



  • di Vecchio Frac data: 23/10/2012 20:32:40

    Intercetta l'evento Change del foglio in cui si trova la cella M4.
    Quando l'oggetto (Target) arriva a 11, lanci (Call) la parte di codice (Sub) che ti interessa.
    Se qualcosa non è chiaro dillo così risolviamo insieme.





  • di HarryBosch data: 23/10/2012 20:40:50

    Oppure inserisci sul foglio il controllo "casella combinata" dal menù sviluppo, e gli assegni una routine sempre con l'evento change.
     
    Sub casella_change()
        If [m4] = 11 Then
            MsgBox "Avvia la macro"
        End If
    End Sub
    


  • Esecuzione automatica di una macro
    di lillo (utente non iscritto) data: 24/10/2012 11:07:01

    Scusate Amici, mi sono dimenticato di dire che non sono esperto di VBA, perchè realizzo le macro attraverso il registratore di excel. Intanto Vi dico che utilizzando un pulsante associato alla macro Copia, compie il lavoro perfettamente, solo che desideravo che quando dalla casella combinata inserisco il mese di novembre, la cella M4 assume il valore 11 e solo allora, excel automaticamente dovrebbe lanciare la macro Copia. PS: nel darmi l'aiuto, ditemi passo passo cosa devo fare. Grazie e a presto. Lillo.



  • di HarryBosch data: 24/10/2012 11:40:58

    Un esempio vale più di mille parole; e se non sei molto pratico di vba questo allegato ti può essere utile. Lo trovi in alto a destra.

    Nella cella A4 ho inserito una combobox: se la selezioni e con il tasto destro apri il "Formato controllo", vedrai nella scheda "controllo" l'intervallo (dove prende i nomi dell'elenco) e il collegamento (dove riporta l'indice del nome scelto).
    A questa combo ho assegnato la routine che già ti avevo scritto. Quando selezioni il mese di Novembre, e quindi esce 11 nella cella M4, verrà avviato tutto quello che si trova all'interno della sub



  • di lillo (utente non iscritto) data: 24/10/2012 12:16:51

    Ho ricevuto la tua risposta e ti ringrazio; ho visto il combo allegato e funziona come voglio io. Però non riesco ad aprire con il tasto dx la cella A4 ( ho la versione excel 2010) e quindi non posso vedere la scheda controllo ed il collegamento. A questo punto ti chiedo: come posso inserire nella cella A4 una combobox? altrimenti potrei tentare di copiare il tuo allegato per sostituire il mio. Intanto ti ringrazio e a presto. Lillo.



  • di Vecchio Frac data: 24/10/2012 14:22:09

    cit. " e quindi non posso vedere la scheda controllo ed il collegamento "
    ---> cosa sono la scheda controllo ed il collegamento?

    Le proprietà della combo le ottieni cliccando col tasto destro del mouse in un punto qualsiasi del controllo, dopodiché ne puoi mostrare le proprietà e il codice associato (un momento... tu hai Excel 2010 e forse è diverso il modo di visualizzare le proprietà dei controlli rispetto alla mia versione 2003, spero che non cambi molto però ^_^). Da qui poi ti sarà facile copincollare il codice di Vanni e impostarlo nel tuo foglio.

    In Excel 2003 i controlli si inseriscono nel foglio mediante le barre Strumenti di controllo oppure Moduli (ci sono alcune differenze, inutile precisarle qui e adesso).






  • di lillo (utente non iscritto) data: 24/10/2012 17:54:17

    Hai ragione tu, excel 2010 è diverso dal 2003; infatti se clicco col dasto destro del mouse le opzioni sono solo sposta - copia - annulla. Sicuramente ci sarà un modo un modo di visualizzare le proprietà. Intanto, anche copiando il codice di Vanni non funziona, mentre dall'allegato inviatomi è perfetto per le mie esigenze. A questo punto mi devo arrendere ed agire manualmente con il pulsante Copia che attiva la macro? Se vi viene in mente qualcosa comunicatemela, altrimenti Vi ringrazio per l'interessamento che mi avete dimostrato.Lillo.



  • di lillo (utente non iscritto) data: 24/10/2012 19:21:28

    Amici sono riuscito a modificare i controlli ed a utilizzare il codice di Vanni ed adesso funziona perfettamente. Missione riuscita. Vi ringrazio davvero ed a risentirci per qualche altro aiuto. Siete bravi, ancora grazie.



  • di Vecchio Frac data: 24/10/2012 19:24:10

    Bene... anzi benissimo :)
    Allora fai una nuova risposta e clicca il quadratino "Spunta se risolta", grazie :)





  • di lillo (utente non iscritto) data: 24/10/2012 19:33:57

    Tutto risolto. Grazie Lillo.



  • di Vecchio Frac data: 24/10/2012 22:51:13

    Spunto io il checkbox "risolto" al posto di Lillo che ringrazio comunque per il feedback.