Para que una macro se ejecute en automático debe ocurrir un evento, en este caso, si las celdas son modificadas, entonces el evento es cuando se modifica la hoja. Pero si el valor de la celda es el resultado de una fórmula, entonces el evento es cuando se calcula esa fórmula.
Probemos con la primera opción y me dices si es el resultado que esperas.
Pon la siguiente macro en los eventos de workbook.
Cambia en la macro Hoja1 y Hoja2 por los nombres de tus hojas
Cambia en la macro "B5" por la celda de la primera hoja a comparar
Cambia en la macro "C6" por la celda de la segunda hoja a comparar
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Por.Dante Amor
h1 = "Hoja1"
h2 = "Hoja2"
'
Select Case Sh.Name
Case h1
If Not Intersect(Target, Range("B5")) Is Nothing Then
If Sheets(h1).Range("B5") = Sheets(h2).Range("C6") Then
Call EjecutarMacro
End If
End If
Case h2
If Not Intersect(Target, Range("C6")) Is Nothing Then
If Sheets(h1).Range("B5") = Sheets(h2).Range("C6") Then
Call EjecutarMacro
End If
End If
End Select
End Sub
'
Sub EjecutarMacro()
'Por.Dante Amor
MsgBox "La macro se va a ejecutar"
End Sub
Instrucciones para poner la macro en los eventos ThisWorkbook
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
- Del lado derecho copia la macro
Entonces si modificas la celda "B5" o "C6" y el resultado de comparar "B5" y "C6" es igual, entonces se ejecuta la macro. Falta que pongas qué es lo que quieres que haga la macro. En el ejemplo que te estoy enviando la macro solamente pone un mensaje en pantalla.
Si tienes dudas avísame.