Saltar al contenido

correr macro sin boton de acceso


Recommended Posts

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

Invitado Héctor Miguel
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
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

Invitado Héctor Miguel
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.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.