Unir dos Private Sub Worksheet_Change en el cambio del valor de la celda

Tengo dos Private Sub Worksheet_Change que cada vez que modifique el valor de una celda especifica me debe ejecutar la macro.

La primera Private Sub Worksheet_Change es el siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$20" Then
If UCase(Target.Value) = "SI" Then
SI
ElseIf UCase(Target.Value) = "NO" Then
NO
End If
End If
End Sub

___________________________

Sub SI()
ActiveSheet.Unprotect "123456"
Range("E24:E34,H24:H34").Locked = False
Range("E24:E34,H24:H34").ClearContents
ActiveSheet.Protect "123456"
Range("G20").Select
End Sub

_______________________________

Sub NO()
ActiveSheet.Unprotect "123456"
Range("E24:E34,H24:H34").Locked = True
Range("E24:E34,H24:H34").ClearContents
ActiveSheet.Protect "123456"
Range("G20").Select
End Sub

La segunda Private Sub Worksheet_Change es el siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B3")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Set c = Sheets("LIQUIDACION")
Set a = c.Range("A:A").Find(Target.Value, LookAt:=xlWhole)
If Not a Is Nothing Then
b = a.Row
Sheets("LIQUIDACION").Select
c.Range("B4:D" & b - 1) = c.Range("B4:D" & b - 1).Value
c.Range("B17:D17").Copy
c.Range("B" & b).Select
ActiveSheet.Paste
c.Range("B" & b + 1 & ":D16").Value = ""
End If
End If
End Sub

Ambos se debe ejecutar de la hoja INICIO B3, cuando esta el valor se modifique.

Añade tu respuesta

Haz clic para o