Macros Excel: Ejecutar macro si el valor de la celda es 'n
Estoy intentando hacer que se ejecute una macro automáticamente sin necesidad de botón dependiendo de el valor de una celda especifica (el valor que debería ejecutar la macro es 0 y se da por una fórmula). Actualmente tengo la macro funcionando correctamente ejecutándola con un botón, la macro es esta:
Sub solosalida()
'
' solosalida Macro
'
'
Range("A5:A17").Select
Selection.Copy
Range("A18").Select
ActiveSheet.Paste
Range("A6:A17").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveSheet.Shapes.Range(Array("3 Elipse")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 255, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.Shapes.Range(Array("4 Elipse")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 255, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.Shapes.Range(Array("2 Rectángulo")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 255, 0)
.Transparency = 0
.Solid
End With
Range("A1").Select
End SubHe intentado que esta macro se ejecute automáticamente con este código sobre la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Range("C51")
If Target.Value = 0 Then
Call solosalida
End If
End SubAl momento en el que el valor de la celda Target es 0 se intenta ejecutar la macro pero aparece el error (Error en el método 'Paste' de objeto '_Worksheet'), la macro funciona perfecto si se ejecuta con el botón pero no funciona si se ejecuta con la condicional. Como puedo solucionarlo? Que estoy haciendo mal?
Respuesta de Emmanuel Gonzalez Taveras