No sé por qué no funciona mi código vba

Tengo un código en una hoja de mi libro, en el evento change, para que al modificar la hoja se verifique si los datos introducidos en ese momento (en esa fila) superan una cierta cantidad.

El código que tengo es el siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False

Dim DescuadreHoras As Boolean
Dim Fila As Integer

Fila = ActiveCell.Row
DescuadreHoras = Worksheets("Seguimiento").Range("S" & Fila).Value

If DescuadreHoras = 1 Then
MsgBox "Te has pasado de tu capacidad"
End If

End Sub

El campo situado en la columna S tiene una fórmula condicional que verifica si se ha pasado la cantidad establecida, el valor 1 significa que sí, que se ha pasado de su capacidad. No me salta el mensaje aún cuando el valor es 1.

Antes de ello probé esto:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False

Dim DescuadreHoras As Boolean

Fila = ActiveCell.Row
DescuadreHoras = Worksheets("Seguimiento").Range("S" & (ActiveCell.Row)).Value

If DescuadreHoras = 1 Then
MsgBox "Te has pasado de tu capacidad"
End If

End Sub

Tampoco me funciona, no aparece ningún mensaje.

¿Qué estoy haciendo mal?

1 respuesta

Respuesta
1

No sé mucho de vba, pero parece que estás comparando un valor boolean con un integer (Dim DescuadreHoras as Boolean - ... DescuadreHoras = 1 ...). Prueba cambiando la declaración de "DescuadreHoras" a entero (Dim DescuadreHoras As Integer)...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas