Rilevare cambiamento cella



  • Rilevare cambiamento cella
    di Giovanni50 (utente non iscritto) data: 04/02/2014 15:25:26

    Salute a tutti
    Vorrei rilevare se è stato premuto
    Il tasto canc o il tasto enter in modo
    Di sapere se è stata cambiata una cella.
    Non so come impostare il problema.
    Qualcuno mi potrebbe cortesemente dare
    Una dritta? Grazie in anticipo per la collaborazione.




  • di Lucas87 data: 04/02/2014 15:29:42

    Esiste l'evento Worksheet_Change che interviene quando si modifica una cella.



  • di paolomath data: 04/02/2014 15:38:37

    Ciao,

    potresti usare l'evento Change del foglio:

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range(INDIRIZZO_DELLA_CELLA_DA_CONTROLLARE)) Is Nothing Then
    Else
    MsgBox "TUO_MESSAGGIO"
    End If
    End Sub

    Controlla se si adatta a quello che vuoi verificare.

    Bye bye.


  • Rilevare cambiamento cella
    di Giovanni50 (utente non iscritto) data: 08/02/2014 12:46:17

    Salve a tutti e grazie per i suggerimenti
    Il codice di esempio con la proprietà interseca
    Rileva se i due Range interessati hanno almeno
    Una cella in comune. Non sono riuscito
    Ad adattarlo al cambiamento di una qualsiasi
    Cella del foglio attivo.
    Penso che il problema sia dovuto al fatto
    Che il cambiamento sia rilevabile solo se
    La routine e' in esecuzione.
    Ma non è possibile continuare ad eseguire
    Ricorsivamente la routine. Come fare a rilevare
    Un cambiamento qualsiasi di una celle del foglio attivo?



  • di patel data: 08/02/2014 14:01:59

    questa macro non la devi mettere in un modulo standard, ma nel modulo del foglio interessato





  • di patel data: 08/02/2014 14:05:44

    la puoi anche semplificare (adeguando l'indirizzo della cella) così:
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.address = "$A$1"  Then MsgBox "TUO_MESSAGGIO"
    End Sub 





  • Rileva cambiamento cella
    di Giovanni50 (utente non iscritto) data: 09/02/2014 11:54:03

    Grazie a tutti.
    Il codice proposto da Patel funziona!! Da solo non ci sarei
    Mai arrivato!!
    Ora sperimenterò come rilevare un cambiamento di una cella
    Appartenente ad un Range e dopo l'evento di ricalcolo celle



  • di Vecchio Frac data: 09/02/2014 14:35:17

    cit. "come rilevare un cambiamento di una cella appartenente ad un Range"
    ---> metodo Intersect dell'oggetto Target, come ha detto Paolomath.

    cit. "e dopo l'evento di ricalcolo celle "
    ---> questa la vedo meno semplice. Il cambiamento di una cella a seguito di ricalcolo di una formula non è evento intercettabile. Esiste l'evento Calculate di un foglio, generato con il ricalcolo del foglio, ma non è possibile stabilire quale cella è stata cambiata (il ricalcolo interessa tutte le celle del foglio).