Validar datos duplicados en tabla

Ahora tengo el siguiente inconveniente, los datos los ingreso en este formulario

Los textbox se llaman torre y apto y tengo esta lista

Necesito validar que no se ingresen datos repetidos en las tablas.

Este es mi código:

Private Sub INGRESAR_Click()
'
'Macro grabada por Adriana
'
Application.ScreenUpdating = False
Sheets("BD").Select
Dim final As Double
If torre.Value = "" Then
    final = Sheets("BD").Range("B" & Rows.Count).End(xlUp).Row
    Else
        final = Sheets("BD").Range("B" & Rows.Count).End(xlUp).Row
        Cells(final + 1, 2) = torre
End If
final = Sheets("BD").Range("D" & Rows.Count).End(xlUp).Row
Cells(final + 1, 4) = CStr(apto)
 ' Ordenar ascendente las torres
    Range("Tabla2[[#All],[TORRE-CASA]]").Select
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla2").Sort.SortFields.Add Key _
        :=Range("Tabla2[[#Headers],[TORRE-CASA]]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("BD").ListObjects("Tabla2").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    'Ordenar ascendente los aptos
    Range("Tabla3[[#All],[APTO-CASA]]").Select
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla3").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla3").Sort.SortFields.Add Key _
        :=Range("Tabla3[[#Headers],[APTO-CASA]]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("BD").ListObjects("Tabla3").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Application.ScreenUpdating = True
End Sub

1 Respuesta

Respuesta
1

Te anexo el código

Private Sub INGRESAR_Click()
'
'Macro grabada por Adriana
'
    Application.ScreenUpdating = False
    Sheets("BD").Select
    Dim final As Double
    If torre.Value = "" Then
        final = Sheets("BD").Range("B" & Rows.Count).End(xlUp).Row
    Else
        final = Sheets("BD").Range("B" & Rows.Count).End(xlUp).Row
        '
        'Por.Dante Amor
        If IsNumeric(torre) Then wtorre = Val(torre) Else wtorre = torre
        Set b = Columns("B").Find(wtorre, lookat:=xlWhole)
        If Not b Is Nothing Then
            MsgBox "Ya existe la torre: " & wtorre
            Exit Sub
        End If
        'Fin.Por.Dante Amor
        '
        Cells(final + 1, 2) = torre
    End If
    '
    'Por.Dante Amor
    If apto <> "" Then
        If IsNumeric(apto) Then wapto = Val(apto) Else wapto = apto
        Set b = Columns("D").Find(wapto, lookat:=xlWhole)
        If Not b Is Nothing Then
            MsgBox "Ya existe apto: " & wapto
            Exit Sub
        End If
    End If
    'Fin.Por.Dante Amor
    '
    final = Sheets("BD").Range("D" & Rows.Count).End(xlUp).Row
    Cells(final + 1, 4) = CStr(apto)
    ' Ordenar ascendente las torres
    Range("Tabla2[[#All],[TORRE-CASA]]").Select
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla2").Sort.SortFields.Add Key _
        :=Range("Tabla2[[#Headers],[TORRE-CASA]]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("BD").ListObjects("Tabla2").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    'Ordenar ascendente los aptos
    Range("Tabla3[[#All],[APTO-CASA]]").Select
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla3").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("BD").ListObjects("Tabla3").Sort.SortFields.Add Key _
        :=Range("Tabla3[[#Headers],[APTO-CASA]]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("BD").ListObjects("Tabla3").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas