salve
per fare quello che chiedi, serve che la prima macro lasci un segno della sua esecuzione.
Non conoscendo come le due macro si collegano, la soluzione più naturale è che lanciando la prima macro, venga registrato in una cella remota del foglio il segno della sua esecuzione, e nella seconda macro mettere un controllo puntato alla cella "sentinella".
un esempio che dovrai adattare alle tue macro:
Sub primaMacro()
' qui il tuo codice
'.....................
' in fondo alla macro aggiungi questa riga
Sheets("Foglio1").Cells(65536, 256).Value = 1
End Sub
Sub secondaMacro()
'In testa alla macro:
If Sheets("Foglio1").Cells(65536, 256) = 0 Then
MsgBox ("ATTENZIONE!!!" & vbCrLf & _
"Non è stata eseguita la macro iniziale")
Exit Sub
End If
'qui procede il tuo codice
'................
' in fondo alla macro aggiungi questa riga:
Sheets("Foglio1").Cells(65536, 256).Value = 0
End Sub
Praticamente la prima macro scrive (1) nella cella IV65536, la seconda azzera il valore.
saluti
Giap