Di lotto non capisco un' acca, quindi non sono intervenuto sul quesito precedente.
In generale, se vuoi far partire da sola una macro, devi usare un "evento"; nello specifico o l' evento WorksheetChange, che si innesca quando qualcuno inserisce un dato da tastiera, oppure l' evento Calculate che si innesca su qualsiasi ricalcolo effettuato nel foglio.
Hai detto che J4 dipende da G4 e I4, ma bisognerebbe sapere da chi dipendono a loro volta quelle due celle, e risalire a quali celle manipolate manualmente si puo' associare il cambiamento su J4; un processo probabilmente con varie ramificazioni, quindi poco pratico.
Volendo usare l' evento Change:
-identifica una cella libera sul tuo foglio di lavoro; supponiamo sia la AZ1
-tasto dx sul tab col nome del Foglio; scegli Visualizza codice
-nel foglio dell' editor delle mecro che cosi' si apre inserire questa macro:
- Codice: Seleziona tutto
Private Sub Worksheet_Calculate()
If IsError(Range("J4")) Then Exit Sub
If Range("J4") <> 18 Then Exit Sub
If Range("AZ1").Value <> Range("J4").Value Then
Application.EnableEvents = False
Range("AZ1").Value = Range("J4").Value
Call macroA
Application.EnableEvents = True
End If
End Sub
In questo modo, quando J4 "diventa" 18 la MacroA viene lanciata 1 volta.
Ciao