Filtro de Registros únicos mediante macro

Necesito de su ayuda y espero puedan ayudarme, tengo una base de datos de las cuales hago consultas mediante el código de contribuyente que es único para cada persona o empresa, al hacer la consulta me arroja todos sus datos, pero me arroja que tiene varios anexos con el mismo número. El registro de anexos empieza desde I13, necesito un registro único por anexo.

En pocas palabras necesito una macro que me pueda filtrar los registros únicos en la columna de Anexos que es la I, y los registros empiezan en la fila 13.

Respuesta
1

[Hola 

Te paso la macro, cambia el nombre de la hoja origen y el resultado lo pondrá en la hoja2


Valora la respuesta la finalizar saludos!

Sub quita_dupicados()
'
'**Por Adriel Ortiz
'
    Set h1 = Sheets("Hoja1")    ' Hoja de origen
    Set h2 = Sheets("Hoja2")    ' Hoja destino
    '
    j = 2
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("I13:I" & u).Copy h2.Range("A" & j)
    '
    u2 = h1.Range("A" & Rows.Count).End(xlUp).Row
    h2.Range("$A$2:$A$" & u2).RemoveDuplicates Columns:=1, Header:=xlNo
    '
    MsgBox "Proceso finalizado"
End Sub

Gracias por tu ayuda, ahora una consulta adicional y disculpa que abuse un poco...

Lo que pasa es que tengo una función Suma y Valor máximo, y lo que pasa es que al yo poner unos rangos en ejemplo A20:A35 al yo realizar el filtro de valores únicos y eliminar esas filas, la referencia de la fórmula me cambia a A20:A30 disminuyendo en 5 por los valores repetidos que se han eliminado. Lo que quiero es que la fórmula de la suma no se cambie, cómo podría hacerlo...

Envíame tu archivo con un ejemplo del resultado que necesitas [email protected]

Te lo acabo de enviar, gracias de antemano.

Te paso la macro

Va la macro


Valora la respuesta para finalizar saludos!

Sub elimina()
'
'Act. Por Adriel Ortiz
'
    Set h1 = Sheets("CONSULTAR2")
    u = h1.Range("AZ" & Rows.Count).End(xlUp).Row
    '
    h1.[BH9] = Application.WorksheetFunction.Sum(h1.Range("AZ13:AZ" & u))
    h1.[BH10] = Application.WorksheetFunction.Max(h1.Range("BA13:BA" & u))
    '
    Range("I13").Select
    Do While ActiveCell.Value <> ""
        conteo = Application.CountIf(Range("I13:I250"), ActiveCell)
        If conteo > 1 Then
            Selection.EntireRow.Delete
            i = i - 1
        Else
            Selection.Offset(1).Select
        End If
    Loop
    '
    MsgBox "fin"
End Sub

Amigo una consulta adicional y espero me puedas ayudar, ahora lo que necesito es realizar una suma... Como vas a poder ver en la imagen necesito realizar la suma del ÁREA DE TERRENO EN M2(ROJO), pero con la condición que sea según el Código(AZUL), adicionalmente que solo cuente un valor único de anexo, osea si un código tiene 001,001,001,002 como anexos; que solo me cuente un anexo 001, y el 002 sobrante... También hallar el valor máximo de VALOR ARANCEL DE LOS PLANOS(ROJO), con las mismas condicionantes que de la suma...

Espero me puedas ayudar, con esta fórmula...

Para no mezclar la respuesta anterior crea una nueva petición saludos!

1 respuesta más de otro experto

Respuesta

Quizás estos ejemplos te puedan orientar

https://youtu.be/gZSSdLRbyOM

https://youtu.be/-ikuUoKlgcI

https://youtu.be/4XSrz4P0w9A

https://youtu.be/afLArBjJyz8 

visita http://programarexcelcom

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas