Evitar valores duplicados en columnas con fórmula

Quiero una macro que no me permita duplicar un valor producto de una fórmula, según la imagen, la macro no debe permitir valor duplicado en la columna C que es producto de unir los datos de la columna A y B, tal como se ve lo señalado con amarillo, para obtener el valor que no quiero duplicar hice una fórmula en la columna C, así: =A6&B6 eso me crea un dato que si se analiza es el mismo resultado de la misma fórmula en la celda C2, entonces la macro me tiene que dar un mensaje que no permita ese valor.

1 respuesta

Respuesta
3

Pon el siguiente código en los eventos de tu hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range, c As Range
  Dim a As Variant, b As Variant
  Dim n As Long
  '
  On Error GoTo appen
  Set rng = Intersect(Target, Range("A:B"))
  If Not rng Is Nothing Then
    For Each c In rng
      a = Range("A" & c.Row).Value
      b = Range("B" & c.Row).Value
      n = WorksheetFunction.CountIfs(Range("A:A"), a, Range("B:B"), b)
      If n > 1 Then
        Application.EnableEvents = False
        MsgBox "Existe duplicado"
        Range("A" & c.Row & ":B" & c.Row).ClearContents
        Range("A" & c.Row).Select
        Application.EnableEvents = True
      End If
    Next
  End If
appen:
Application.EnableEvents = True
End Sub


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas