Como eliminar filas en branco en Excel con VBA, fórmulas e Power Query

  • Comparte Isto
Michael Brown

Este tutorial ensinarache algúns trucos sinxelos para eliminar varias filas baleiras en Excel de forma segura sen perder nin un pouco de información .

As filas en branco en Excel é un problema ao que nos enfrontamos todos. de vez en cando, especialmente cando se combinan datos de diferentes fontes ou se importan información doutro lugar. As liñas baleiras poden causar moitos estragos nas túas follas de traballo en diferentes niveis e eliminalas manualmente pode ser un proceso lento e propenso a erros. Neste artigo, aprenderás algúns métodos sinxelos e fiables para eliminar os espazos en branco das túas follas de traballo.

    Como NON eliminar liñas en branco en Excel

    Hai algúns diferentes formas de eliminar liñas baleiras en Excel, pero sorprendentemente moitos recursos en liña seguen co máis perigoso, é dicir, Buscar & Seleccione > Ir a especial > Obras en branco .

    Que hai de malo con esta técnica? Selecciona todos os espazos en branco nun intervalo e, en consecuencia, acabará eliminando todas as filas que conteñan tanto como unha única cela en branco.

    A imaxe de abaixo mostra a táboa orixinal á esquerda e a táboa resultante da dereita. E na táboa resultante, desapareceron todas as filas incompletas, incluso a fila 10 onde só faltaba a data na columna D:

    A liña inferior: se non queres estropear os teus datos, nunca borres os datos baleiros. filas seleccionando celas en branco. En vez diso, use un dos enfoques máis considerados discutidosfacer as cousas máis complexas do que deben ser. Entón, demos un paso máis e creamos unha ruta de dous clics para eliminar filas baleiras en Excel.

    Co Ultimate Suite engadido á túa cinta, podes eliminar todas as filas baleiras . nunha folla de traballo:

    1. Na pestana Ferramentas Ablebits , no grupo Transformar , faga clic en Eliminar espazos en branco > Filas baleiras :
    2. O complemento informarache de que todas as filas baleiras eliminaranse da folla de traballo activa e pedirá confirmación. Fai clic en Aceptar e, nun momento, eliminaranse todas as filas en branco.

    Como se mostra na captura de pantalla a continuación, só eliminamos liñas absolutamente en branco que non teñen unha soa cela con datos:

    Para atopar Para obter máis funcións fantásticas incluídas co noso Ultimate Suite para Excel, podes descargar unha versión de proba.

    Grazas por ler e espero verte no noso blog a próxima semana!

    a continuación.

    Como eliminar filas en branco en Excel con VBA

    Excel VBA pode arranxar moitas cousas, incluídas varias filas baleiras. O mellor deste enfoque é que non require habilidades de programación. Simplemente, colle un dos seguintes códigos e execútao no teu Excel (as instrucións están aquí).

    Macro 1. Elimina liñas en branco nun intervalo seleccionado

    Este código VBA elimina silenciosamente todos os espazos en branco. filas nun intervalo seleccionado, sen mostrar ningunha mensaxe ou caixa de diálogo ao usuario.

    A diferenza da técnica anterior, a macro elimina unha liña se a toda a fila está baleira . Depende da función de folla de cálculo CountA para obter o número de celas non baleiras en cada liña e, a continuación, elimina as filas coa conta cero.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application. Selección se non (SourceRange non é nada) Entón Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Establecer EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Para darlle ao usuario a oportunidade de seleccionar o intervalo de destino despois de executar a macro , use este código:

    Público Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Continuar Seguinte Definir SourceRange = Application.InputBox( _"Seleccione un intervalo:" , "Eliminar filas en branco" , _ Application.Selection.Address, Escriba :=8) Se non (SourceRange non é nada ) Entón Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step - 1 Estableza EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Ao executarse, a macro mostra no seguinte cadro de entrada, selecciona o intervalo de destino e fai clic en Aceptar:

    En pouco tempo, todas as liñas baleiras do intervalo seleccionado serán eliminadas e as restantes desprazaranse cara arriba:

    Macro 2. Elimine todas as filas en branco en Excel

    Para eliminar todas as filas en branco da folla activa , determine a última fila do intervalo usado (é dicir, a fila que contén o última cela con datos), e despois vai cara arriba eliminando as liñas para as que CountA devolve cero:

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = Falso Para RowIndex = LastRowIndex Ao 1 Paso -1 Se Application.CountA(Rows(RowIndex)) = 0 Entón Rows(RowIndex) = 0 Entón Rows(RowIndex). Se Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3. Elimina a fila se a cela está en branco

    Con esta macro, podes eliminar unha fila enteira se unha cela no especificadoa columna está en branco.

    O seguinte código verifica a columna A para ver os espazos en branco. Para eliminar filas baseadas noutra columna, substitúe "A" pola letra adecuada.

    Sub DeleteRowIfCellBlank() En caso de erro Reanude Next Columns( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    Como de feito, a macro usa a función Ir a especial > Brancos , e podes conseguir o mesmo resultado realizando estes pasos manualmente.

    Nota. A macro elimina as filas en branco da folla enteira , polo que teña moito coidado ao usala. Como precaución, pode ser conveniente facer unha copia de seguridade da folla de traballo antes de executar esta macro.

    Como eliminar liñas en branco en Excel con VBA

    Para eliminar filas baleiras en Excel mediante unha macro, debes pode inserir o código VBA no seu propio libro de traballo ou executar unha macro do noso libro de exemplo.

    Engadir unha macro ao seu libro de traballo

    Para inserir unha macro no seu libro de traballo, siga estes pasos:

    1. Abre a folla de traballo onde queres eliminar filas en branco.
    2. Preme Alt + F11 para abrir o Editor de Visual Basic.
    3. No panel esquerdo, fai clic co botón dereito do rato. Este libro de traballo e, a continuación, faga clic en Inserir > Módulo .
    4. Pega o código na xanela Código.
    5. Preme F5 para executar a macro.

    Para obter instrucións detalladas paso a paso, consulte Como inserir e usar VBA en Excel.

    Executar unha macro do noso libro de exemplo

    Descarga a nosa mostracaderno de traballo con macros para eliminar filas en branco e executar unha das seguintes macros desde alí:

    Eliminar filas en branco : elimina as filas baleiras do intervalo seleccionado actualmente.

    Eliminar liñas en branco. : elimina filas en branco e desprázase cara arriba nun intervalo que seleccione despois de executar a macro.

    Eliminar todas as filas baleiras : elimina todas as liñas baleiras da folla activa.

    DeleteRowIfCellBlank : elimina unha fila se unha cela dunha columna específica está en branco.

    Para executar a macro no seu Excel, faga o seguinte:

    1. Abra o caderno de traballo descargado e activa as macros se se lle solicita.
    2. Abre o teu propio libro de traballo e desprázate ata a folla de traballo de interese.
    3. Na túa folla de traballo, preme Alt + F8, selecciona a macro e fai clic en Executa .

    Fórmula para eliminar filas en branco en Excel

    Se queres ver o que estás a eliminar, utiliza a seguinte fórmula para identificar as liñas baleiras:

    =IF(COUNTA(A2:D2)=0, "Blank", "Not blank")

    Onde A2 é a primeira e D2 é a última cela utilizada da primeira fila de datos.

    Introduza esta fórmula a en E2 ou calquera outra columna en branco da fila 2 e arrastre o controlador de recheo para copiar a fórmula cara abaixo.

    Como resultado, terá "Blanco" nas filas baleiras e "Non en branco" nas filas. que conteñan polo menos unha cela con datos:

    A lóxica da fórmula é obvia: contas as celas non baleiras coa función COUNTA e usa a instrución IF para devolver "Blank" para o reconto cero, "Not Blank" en caso contrario .

    Ende feito, podes facelo moi ben sen IF:

    =COUNTA(A2:D2)=0

    Neste caso, a fórmula devolverá TRUE para liñas en branco e FALSE para liñas non en branco.

    Coa opción fórmula no seu lugar, siga estes pasos para eliminar liñas baleiras:

    1. Seleccione calquera cela da fila de cabeceira e prema en Ordenar & Filtrar > Filtrar na pestana Inicio , en Formatos Isto engadirá as frechas do menú despregable de filtrado a todas as celas de cabeceira.
    2. Fai clic na frecha da cabeceira da columna da fórmula, desmarque (Seleccionar todo), seleccione En branco e prema en Aceptar :
    3. Seleccione todas as filas filtradas . Para iso, faga clic na primeira cela da primeira fila filtrada e prema Ctrl + Maiús + Fin para estender a selección ata a última cela da última fila filtrada.
    4. Faga clic co botón dereito na selección, escolla Elimina a fila do menú contextual e, a continuación, confirma que realmente queres eliminar filas enteiras:
    5. Elimina o filtro premendo Ctrl + Maiús + L . Ou prema a pestana Inicio > Ordenar & Filtrar > Filtrar .
    6. Elimina a columna coa fórmula xa que xa non a necesitas.

    Isto é! Como resultado, temos unha táboa limpa sen liñas en branco, pero toda a información conservada:

    Consello. En lugar de eliminar liñas baleiras, pode copiar filas non baleiras noutro lugar. Para facelo, filtra as filas "Non en branco", selecciónaas e preme Ctrl + C para copiar. Despois cambia aoutra folla, seleccione a cela superior esquerda do intervalo de destino e prema Ctrl + V para pegar.

    Como eliminar liñas baleiras en Excel con Power Query

    En Excel 2016 e Excel 2019, hai unha forma máis de eliminar filas baleiras: empregando a función Power Query. En Excel 2010 e Excel 2013, pódese descargar como complemento.

    Nota importante! Este método funciona coa seguinte advertencia: Power Query converte os datos de orixe nunha táboa de Excel e cambia o formato, como a cor de recheo, os bordos e algúns formatos numéricos. Se o formato dos teus datos orixinais é importante para ti, é mellor que elixas outro xeito de eliminar as filas en branco en Excel.

    1. Selecciona o intervalo onde queres eliminar as liñas baleiras.
    2. Vai á pestana Datos > Obter & Transforma o grupo e fai clic en Desde táboa/rango . Isto cargará a túa táboa no Editor de Power Query.
    3. Na pestana Inicio do Editor de Power Query, faga clic en Eliminar filas > Eliminar filas en branco .
    4. Fai clic en Pechar & Cargar Isto cargará a táboa resultante nunha nova folla de traballo e pechará o Editor de consultas.

    Como resultado destas manipulacións, obtiven a seguinte táboa sen liñas baleiras, pero cun par de cambios desagradables: o formato da moeda pérdese e as datas móstranse no formato predeterminado. en lugar do personalizado:

    Como eliminar filas sea cela dunha determinada columna está en branco

    Ao comezo deste titorial, advertimos que non debes eliminar liñas baleiras seleccionando espazos en branco. Non obstante, este método resulta útil se queres eliminar filas baseadas en os espazos en branco nunha columna específica .

    Por exemplo, eliminemos todas as filas nas que unha cela da columna A estea baleira. :

    1. Seleccione a columna clave, columna A no noso caso.
    2. Na pestana Inicio , faga clic en Buscar & Seleccione > Ir a especial . Ou preme F5 e fai clic no botón Especial... .
    3. No diálogo Ir a especial , seleccione Obras en branco e faga clic en Aceptar . Isto seleccionará celas en branco no intervalo usado na columna A.
    4. Fai clic co botón dereito sobre calquera cela seleccionada e escolla Eliminar... no menú contextual.
    5. Na caixa de diálogo Eliminar , escolla Fila enteira e faga clic en Aceptar.

    Feito! As filas que non teñen un valor na columna A xa non están alí:

    O mesmo resultado pódese conseguir filtrando espazos en branco na columna clave.

    Como eliminar liñas adicionais debaixo dos datos

    Ás veces, as filas que parecen completamente en branco poden conter algúns formatos ou caracteres non imprimibles. Para comprobar se a última cela con datos é realmente a última cela utilizada na túa folla de traballo, preme Ctrl + Fin . Se isto levouche a unha fila visualmente baleira debaixo dos teus datos, en termos de Excel, esa fila non está en branco. Para eliminar tales filas, faga oseguinte:

    1. Fai clic na cabeceira da primeira fila en branco debaixo dos teus datos para seleccionalos.
    2. Preme Ctrl + Maiús + Fin . Isto seleccionará todas as liñas que conteñan calquera cousa, incluíndo formatos, espazos e caracteres non imprimibles.
    3. Fai clic co botón dereito na selección e escolla Eliminar... > Fila enteira.

    Se tes un conxunto de datos relativamente pequeno, podes desfacerte de todas as liñas en branco debaixo dos teus datos, p. ex. para facilitar o desprazamento. Aínda que non hai forma de eliminar filas non utilizadas en Excel, non hai nada que impida ocultalas . Vexa como:

    1. Seleccione a fila debaixo da última fila con datos facendo clic na súa cabeceira.
    2. Preme Ctrl + Maiús + Frecha cara abaixo para estender a selección ata a última fila da folla. .
    3. Preme Ctrl + 9 para ocultar as filas seleccionadas. Ou fai clic co botón dereito na selección e, a continuación, fai clic en Ocultar .

    Para mostrar as filas , preme Ctrl + A para seleccionar toda a folla e, a continuación, preme Ctrl + Maiús + 9 para que todas as liñas sexan visibles de novo.

    De xeito similar, pode ocultar as columnas en branco que non se utilicen á dereita dos seus datos. Para ver os pasos detallados, consulte Ocultar filas non utilizadas en Excel para que só se vexa a área de traballo.

    A forma máis rápida de eliminar as filas baleiras en Excel

    Ao ler os exemplos anteriores, non foi así. parece que estabamos usando un mazo para romper unha noz? Aquí, en Ablebits, preferimos non facelo

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.