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
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
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