Ejecutar una macro diferente para cada celda que cambie de valor

Estoy realizando una macro que básicamente ya está finalizada, solo que quiero evitar presionar un botón cada vez que haga un cambio en una respectiva celda.

Entonces tengo 5 celdas, al cambiar el valor de una de estas 5 requiero ejecutar la macro respectiva de esa celda, por lo que sería mas fácil que al cambiar la cela a1 me llame la macro 1, al cambiar el valor en la celda a2 me llame la macro 2 y así sucesivamente, por ahora son 5 macros, al final serán 20 que trabajarán con 20 celdas diferentes.

Basta con que me dejen el código de una sola yo replico el código le cambio la celda y el nombre de la macro.

2 respuestas

Respuesta
1

De algún modo pude obtener este código.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range

Set KeyCells = Range("A1")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'A1'"
End If
Set KeyCells = Range("A2")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'A2'"
End If
Set KeyCells = Range("A3")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'A3'"
End If
Set KeyCells = Range("B1")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'B1'"
End If
Set KeyCells = Range("B2")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'B2'"
End If
Set KeyCells = Range("B3")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'B3'"
End If
End Sub

Donde la siguiente parte es la que toca ajustar según lo requerido.

Set KeyCells = Range("B3")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

MsgBox "cambio detectado en la celda 'B3'"
End If

Podríamos cambiar el -MsgBox "cambio detectado en la celda 'B3'" - por un -Call Macro_Celda_B3-

Sal u 2

Respuesta
La pregunta no admite más respuestas

Más respuestas relacionadas