Valor en celda no activa macro

Tengo esta macro de san google:

Private Sub worksheet_change(ByVal target As Excel.Range)

   If target.Cells.Count > 1 Then Exit Sub

   If IsNumeric(target) And target.Address = "$B$37" Then

       Select Case target.Value

         Case Is > 0: Macro_texto

       End Select

   End If

End Sub

Simplemente es que se active la macro si en la celda B37 es >0, esta celda contiene una fórmula que cambiara >0 cuando se da la condición.

Cuando se da esa condición no salta la macro, solo si pongo manualmente en la celda ejemplo 5

Salud2…

1 Respuesta

Respuesta

Es que justamente ese evento (worksheet_change) se actualiza cuando cambias la celda 'manualmente'. Tal vez tengas que cambiar el evento por el Worksheet_Calculate, (este evento debes usarlo con cuidado, ya que si lo tienes en modo automático se estará ejecutando todo el tiempo trayendo más problemas que soluciones).

Tal vez puedas cambiar tu procedimiento por el siguiente:

Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If Range("B37").Value > 0 Then
    Macro_texto
    'Acá deberías hacer algo para que no se vuelva a
    'actualizar la macro, una opción es
    Range("B37").Value = 0
End If
Application.EnableEvents = True
End Sub

Ten en cuenta el comentario que pongo, ya que si no colocas algo así se va a ejecutar el evento cada vez que recalcules el libro (si el valor de la celda sigue siendo > 0)

Salu2

Si hace lo que buscaba, pero no da el resultado que yo pretendía.

Me explico:

Tengo dos libros encadenados con macros se abren, copia, graba (graba solo libro1) y guardan con macros con tiempos.

En el libro 1 al llegar a un numero ejemplo 32, pensaba que con esta macro que me acabas de hacer activaba la Macro_texto  y paraba la macro ABRIRYGUARDAR  y así detenía el ciclo o bucle que tengo montado en los dos libros, pero no es así la Macro_texto   salta pero no detiene a la macro ABRIRYGUARDAR que es lo que yo quiero.

Salud2….

No llego a entender como tenés ambas macros... ¿en qué momento se está ejecutando la macro 'abriryguardar'? ¿Y en qué condiciones? Ya que eso no lo habías comentado antes...

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas