As Bob said. something like
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
To put that in you right click on the sheet number at the bottom and then View Code.
Then you can do something like
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
With Target
With ActiveCell
If Range("D1") = 10 Then
Range("D2") = 20
Call Macro1
End If
End With
End With
End Sub
Worksheet_SelectionChange tries to run no matter where you click so you need conditions.
In the above case D1 needs to have a 10. The Macro1 also has a condition which is If ActiveCell.Value Like "0*" Then
Thus Macro1 will only run if D1 =10 and the cell clicked on has entry starting with 0
The line
Range("D2") = 20 simply puts 20 into D2
So to do what you want to do you would probably do something whereby when you clicked on the cell (the one where you want the macro to run when the cell looses focus) it would insert an entry in another cell and that would become a condition for when you clicked into another cell and the action would also clear the cell so as to be ready for next time. Thus with Worksheet_SelectionChange you can end up with a lot of conditions.
Basically, you should be able to do it with Worksheet_SelectionChange but it will probably need several conditions.
Here is another condition that might help give you the idea
With ActiveCell
If Range("D1") = 10 Then
Call Macro1
End If
If Target.Column = 5 And Target.Row = 25 Then
Range("L1") = 10
End If
If Range("L1") = 10 And Target.Column = 12 Then
Call Macro11
End If
End With
End With
As you cansee it is basically making an entry in a cell based on conditions and the entry in that cell then becomes the condition to something else such as running a macro.