Saltar al contenido

correr macro sin boton de acceso

publicado

Hola Buen Día

Estoy trabajando con una macro que me muestra un mensaje si se cumplen las siguientes condiciones:

Si el dato de la columna H es mayor a 1 muestra un mensaje y si es menor a -1 muestra otro mensaje, estos valores salen de sumar otras celdas

La macro ya me funciona (utilice un ejemplo de internet) pero no quiero poner un botón para correr esta macro, sino que cuando este ubicada en la hoja en la que utilizo la función se verifique la información por si sola, en este momento estoy colocando el codigo en ThisWorkbook y funciona bien, pero al cambiar de hoja en el mismo libro se sigue corriendo la macro hasta que se me bloquea el libro.

Como puedo correr la macro sin boton y donde debo ubicar la Función?

Adjunto codigo

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Range("H" & Target.Row).Value > 1 Then

Target.Activate

MsgBox "El ultimo movimiento registrado de este activo fue un Ingreso. Por favor verificar"

ActiveCell.ClearContents

End If

If Range("H" & Target.Row).Value < -1 Then

Target.Activate

MsgBox "El ultimo movimiento registrado de este activo fue un Ingreso. Por favor verificar"

ActiveCell.ClearContents

End If

End Sub

Gracias

Featured Replies

publicado

prueba a mover el procedimiento al evento '_calculate' en el modulo de código de "esa hoja", solo que no estoy seguro que debas seguir manejando el "Target.Row" sino una lista de cuales celdas están sujetas a esa condición (?)

publicado
  • Autor
prueba a mover el procedimiento al evento '_calculate' en el modulo de código de "esa hoja", solo que no estoy seguro que debas seguir manejando el "Target.Row" sino una lista de cuales celdas están sujetas a esa condición (?)

Hola Trate de ubicar la función en la hoja con el evento _calculate, pero no me funciona, probé varias opciones definir Dim Target as Range, en otra quite target, en otra coloque

If Range("H:H").Value > 1 Then para seleccionar toda la columna

Pero de ninguna forma me funciona, no entiendo que estoy haciendo mal, si me puedes ayudar agradecería mucho tu colaboración

publicado

probablemente puedas seguir manejando el evento '_change' pero de esa hoja, solo que falta conocer algunos detalles (p.e.)

1) range("h:h") me parecen demasiadas celdas a monitorear, comenta mejor el tipo de formulas que contienen esas celdas (y el rango preciso que te interesa monitorear)

2) indica en que celdas se introducen los datos "duros" (que ocasionan cambio de valores en la columna H)

saludos,

hector.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.