Problemas con un MSGBOX

Hola a todos de nuevo por acá,
tengo este macro de alerta condicionada a que la celda sea mayor o igual que 0
Private Sub worksheet_SelectionChange(ByVal target As Range)
If Range("D19") >= 0 Then MsgBox Range("N10") & " :" & vbCr & vbCr & "EN CONCEPTO DEBES DETALLAR EL MOTIVO"
End Sub
Me funciona, pero como el valor de "D19" queda constante el mensaje me aparce cada vez que me desplazo por las celda (o sea siempre), como puedo hacer que el mensaje me aparezca una sola vez, o debo cambiar la condición y poner un msgbox solo informativo.
Atento a sus respuesta,
Andrés

1 Respuesta

Respuesta
1
Tal vez debería ser algo así:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" And Target <> "" Then
        'Mensaje'
    End If
End Sub
Pruébalo y me comentas
Gracias por tu tiempo estimado,
Sabes que lo copie y abregue el mensaje pero en ningún momento saltó el msgbox incluso cuando cambio de valor la celda.
Atento a tus comentarios,
Andrés
Me puedes enviar la macro completa para probarla
Ok, aquí va... en realidad no se si estará bien soy novato en estas cosas.
Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address = "$B$2" And target <> "" Then
    MsgBox Range("N10") & " :" & vbCr & vbCr & "EN CONCEPTO DEBES DETALLAR EL MOTIVO", 64
    End If
End Sub
Saludos,
Andrés
La verdad es que a mi me funciona:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" And Target <> "" Then
        MsgBox ("Mensaje")
    End If
End Sub
Donde pusiste el código debes ponerlo en la hoja1 o la que corresponda. Para tus datos debes cambiar la celda B2 por la que tu tiene el ingreso de datos.
Pruébalo y me comentas. Yo ingrese cualquier dato en la celda b2 y automáticamente me aparece el mensaje, cualquiera otra celda que reciba un dato el mensaje NO aparece.
Suerte
Sabes que cuando lo copio en un archivo nuevo me funciona perfecto, pero cuando lo copio al archivo final me aparece un mensaje que dice,
Compile error:
Ambiguous name detected: Worksheet_change
Y en la macro solo cambió el mensaje y la celda de referencia,
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$d$19" And Target <> "" Then
        MsgBox Range("N10") & " :" & vbCr & vbCr & "EN CONCEPTO DEBES DETALLAR EL MOTIVO", 64
    End If
End Sub
Gracias por tu tiempo,
Andrés
Tienes que ir probando de a poco sacando tal vez algunas instrucciones. La idea tal vez seria comenzar con el mensaje más simple, y poco a poco agregar dificultad.
Juégatela y suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas