Mensaje de Alerta

Hola, Buenos días, por favor necesitaría que alguien me facilete que comando introducir en VB ante dos celdas iguales J10... J1000 y L10 ... 1000. Es decir se tratan de muchas filas en dos columnas con valores en desplegables que no deben ser iguales que si por equivocación los son que se produzca un mensaje o alerta al que introduce mal el dato.
Con la opción Validación, personalizar J10=L10 no funciona.
Mil gracias

1 respuesta

Respuesta
1
¿Es forzoso que sea un mensaje? También podría ser que los datos repetidos tengan un formato especial, o que una celda a la derecha aparezca el mensaje "REPETIDO" o el que tu elijas.
.
Comenta.
Gracias por la respuesta:
Ya he probado con el formato especial, que supongo te refieres al formato condicional, sólo tengo la opción de personalizar mediante formula =A1=B2, (MENSAJE) pero no funciona y no logro saber por qué tampoco funciona la condición =SI(A1=B2;"REPETIDO";"") en otra celda al lado.
Al tratarse estas celdas de validación en entradas desplegables A1:A1000 y B2:B200 quizás sea por eso.. aunque no esoy seguro :-)
Prueba:
-
=SI(J10=L10;"REPETIDO";"")
-
.. la fórmula que aludes si funciona pero mí objetivo es que ante la entrada de dos datos iguales de un aviso de error y no la aparición de un texto sólo a efectos informativos que además me obliga a mantener una columna visible y repetida en todas las filas..
Lo que no logro entender es que esta fórmula no funcione en datos/validación (podría aprovechar la celda que mencionas, esconderla y si escondida a la vista, reortase la palabra REPETIDO que sea mediante la opción de validación de error que reporte este mensaje, pero tampoco funciona... tampoco con el formato condicional.. por ello sólo pensé en crear un aviso mediante VB.
Saludos y Gracias
Pues a grandes males, grandes remedios. Aquí está tu código. Cópialo tal cual y Pégalo en la sección ThisWorkbook
-
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 If Not Intersect(Target, Range("J:J", "L:L")) Is Nothing Then
  If Range("J" & Target.Row).Value = Range("L" & Target.Row).Value Then
   Target.Activate
   MsgBox "REPETIDO. Dato ELIMINADO. Intente nuevamente"
   ActiveCell.ClearContents
  End If
 End If
End Sub
-
Muchas pero que muchas gracias
<address>Distes en el clavo.. lo único que me pasa ahora es que el error lo reporta también al detectar  ambas celdas en blanco, también así son iguales... y se queda en bucle aunque pulse aceptar :-)</address><address></address><address>Siento molestarte tanto--- pero 100000......G R A C I A S </address>
If Not Intersect(Target, Range("J:J", "L:L")) Is Nothing Then
  If Range("J" & Target.Row).Value = "" Then Exit Sub
  If Range("L" & Target.Row).Value = "" Then Exit Sub

  If Range("J" & Target.Row).Value = Range("L" & Target.Row).Value Then
   Target.Activate
   MsgBox "REPETIDO. Dato ELIMINADO. Intente nuevamente"
   ActiveCell.ClearContents
  End If
 End If
End Sub
-
Con esto libramos las celdas vacías.
-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas