Eliminar filas en Excel que no cumplan una condición, largo, contenido, color

Este tip me ha ayudado a depurar bases de datos donde, por ejemplo, necesito que en la columna Número telefónico sólo haya números con un largo de 10 caracteres.

Ver video Eliminar filas que no cumplan con cierta condición

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Ver video Eliminar filas que no cumplan con cierta condición PARTE 2

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Cómo funciona

En la imagen de ejemplo tenemos una tabla con 2 columnas: NOMBRE, TELEFONO. Elegimos la celda B2 y corremos la siguiente macro:

Sub EliminarFilas()
'Hacemos un bucle Do While el cual se ejecutará hasta que haya una celda vacía
Do While ActiveCell.Value <> ""
    'La condición es que si el largo es diferente a 10...
    If Len(ActiveCell) <> 10 Then
        '... elimina la fila
        ActiveCell.EntireRow.Delete
        ActiveCell.Offset(-1, 0).Select
    Else
    End If
    'Recorre una fila hacia abajo
    ActiveCell.Offset(1, 0).Select
Loop
End Sub

Resultado

Sólo quedarán las filas donde haya habido números a 10 dígitos

image

Otras condiciones

La macro anterior tiene la siguiente línea la cual es la que condiciona el largo de la celda.

If Len(ActiveCell) <> 10 Then

Pero también puede ser que queramos condicionar contenido o formato de la celda.

Ejemplos de otras codiciones:

'Eliminia diferente a largo de 10
If Len(ActiveCell) <> 10 Then

'Elimina diferentes a 1234567890
If ActiveCell.Value <> "1234567890" Then

'Eliminar los que tengan fondo rojo
If ActiveCell.Interior.ColorIndex = 3 Then

'Eliminar que comiencen con ABC""
If Mid(ActiveCell.Value, 1, 3) = "ABC" Then

Descarga el archivo de ejemplo

Eliminar filas con cierta condición – EXCELeINFO.zip

 

Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

You may also like...