A resposta de teylyn é ótima; Estou usando uma premissa semelhante, mas sem a necessidade de atualizar as macros existentes, forçando, basicamente, um erro de tempo de execução quando a célula que está sendo monitorada é atualizada
Esta é a configuração: módulo VBA para a célula monitorada (no meu caso, célula C3)
O evento _Change dispara uma divisão por 0 se o alvo for C3:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 3 And Target.Column = 3 Then Debug.Print 1 / 0
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x1
End Sub
3 Testar funções em um módulo padrão, cada uma atualizando as células A3, B3 e C3:
Sub x1()
Cells(3, 1) = Cells(3, 1) + 1
x2
End Sub
Sub x2()
Cells(3, 3) = Cells(3, 2) + 1
x3
End Sub
Sub x3()
Cells(3, 2) = Cells(3, 3) + 1
End Sub
Quando altero a seleção na planilha, o processo é iniciado e exibe uma janela de erro como esta:
EucliconobotãoDepurareelemelevaparaalinhadoevento_Changecomoerro:
Nesteponto,euabroapilhadechamadas(Ctrl+L)
Issomostratodasaschamadasfeitas,aúltimadelasnotopo,entãocliqueduasvezesnaanterior:
A macro que atualizou a célula terá um triângulo verde apontando para a linha exata que a atualizou