Excel - VBA - Rivelare cambiamento in cella o intervallo di celle

Anonimo
2019-08-20T08:57:34+00:00

Buongiorno a tutti,

da tempo mi interrogo se sia possibile "intercettare" quando una cella cambia il suo contenuto.

Provo a spiegarmi meglio. Se l'utente del mio foglio Excel (con macro) scrive un valore in una cella o in un intervallo di celle (non conosciuto) vorrei che scattasse una macro.

E' possibile? Se si, come si fa?

In caso contrario, come avete "aggirato" il problema?

Grazie a tutti.

Cari saluti,

P

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-08-20T09:35:38+00:00

Ciao Paolo,

Grazie mille, Norman.

Ma se non conoscessi quale cella viene modificata? E, quindi, dovessi "monitorare" tutte le celle del foglio?

In tal caso. per eseguire la tua macro alla modifica di qualsiasi cella, prova:

'=========>>

Option Explicit

'--------->>

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Rng As Range, rCell As Range

    On Error GoTo XIT

    Application.EnableEvents = False

    Call MiaMacro

XIT:

   Application.EnableEvents = True

End Sub

'<<=========

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-08-20T10:26:51+00:00

    Ciao Paolo,

    Grazie Norman, sei un grande! :-)

    Prego!

    Alla prossima.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-08-20T10:23:06+00:00

    Grazie Norman, sei un grande! :-)

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-08-20T09:31:03+00:00

    Grazie mille, Norman.

    Ma se non conoscessi quale cella viene modificata? E, quindi, dovessi "monitorare" tutte le celle del foglio?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-08-20T09:18:39+00:00

    Ciao Paolo,

    da tempo mi interrogo se sia possibile "intercettare" quando una cella cambia il suo contenuto.

    Provo a spiegarmi meglio. Se l'utente del mio foglio Excel (con macro) scrive un valore in una cella o in un intervallo di celle (non conosciuto) vorrei che scattasse una macro.

    E' possibile? Se si, come si fa?

    In caso contrario, come avete "aggirato" il problema?

    Certo! Ponendo che la macro da scattenare sia denominata MiaMacro, prova qualcosa del genere:

    • Fai clic dx sulla linguetta del foglio di interesse
    • Seleziona l'opzione Visualizza Codice dal **** menu contestuale risultante
    • Incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Private Sub Worksheet_Change(ByVal Target As Range)

        Dim Rng As Range

        Const sCella_Da_Modificare As String = "B2"       '<<=== Modifica

        Set Rng = Intersect(Me.Range(sCella_Da_Modificare), Target)

        If Not Rng Is Nothing Then

            On Error GoTo XIT

            Application.EnableEvents = False

            Call MiaMacro

        End If

    XIT:

        Application.EnableEvents = True

    End Sub

    '<<=========

    • Alt+Q per chiudere l'editor di VBA e tornare a Excel

    Con questo codice, ad ogni modifica della cella B2, verrà eseguita la macro Mia Macro.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento