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
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.