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 Sub
He 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 Sub
Al 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?
1 respuesta
Respuesta de Emmanuel Gonzalez Taveras