VBA Eliminar toda la fila o columna

Este tutorial demostrará diferentes formas de eliminar filas y columnas en Excel usando VBA.

Eliminar toda la fila o columna

Para eliminar una fila completa en VBA, use esta línea de código:

1 Filas (1) .Eliminar

Tenga en cuenta que usamos el Borrar método para eliminar una fila.

En lugar de hacer referencia al Objeto de filas, puede hacer referencia a filas en función de su Objeto de rango con Fila completa:

1 Rango ("a1"). EntireRow.Delete

De manera similar, para eliminar una columna completa, use estas líneas de código:

1 Columnas (1) .Eliminar
1 Rango ("a1"). EntireColumn.Delete

Eliminar varias filas o columnas

Con la misma lógica, también puede eliminar varias filas a la vez:

1 Filas ("1: 3"). Eliminar

o columnas:

1 Columnas ("A: C"). Eliminar

Observe que aquí hacemos referencia a los números / letras de filas y columnas específicos rodeados de citas.

Por supuesto, también puede hacer referencia a EntireRow de un rango:

1 Rango ("a1: a10"). EntireRow.Delete

Nota: Los ejemplos a continuación solo demuestran la eliminación de filas, sin embargo, como puede ver arriba, la sintaxis es prácticamente idéntica para eliminar columnas.

Eliminar filas en blanco / vacías

Este ejemplo eliminará una fila si toda la fila está en blanco:

1234567891011 Sub DeleteRows_EntireRowBlank ()Atenuar celda como rangoPara cada celda del rango ("b2: b20")Si Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Entoncescell.EntireRow.DeleteTerminara siSiguiente celdaEnd Sub

Utiliza la función de hoja de cálculo de Excel: CONTAR.

Eliminar fila si la celda está en blanco

Esto eliminará una fila si la columna específica de esa fila está en blanco (en este caso, la columna B):

1 Rango ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete

Eliminar fila según el valor de la celda

Esto recorrerá un rango y eliminará filas si un determinado valor de celda en esa fila dice "eliminar".

1234567891011 Sub DeleteRowswithSpecificValue ()Atenuar celda como rangoPara cada celda del rango ("b2: b20")Si cell.Value = "delete" Entoncescell.EntireRow.DeleteTerminara siSiguiente celdaEnd Sub

Más ejemplos de eliminación de filas y columnas

Eliminar filas duplicadas

Este código eliminará todas las filas duplicadas en un rango:

1 Rango ("b2: c100"). Eliminar columnas duplicadas: = 2

Observe que establecemos Columnas: = 2. Esto le dice a VBA que verifique las dos primeras columnas de datos al considerar si las filas están duplicadas. Un duplicado solo se encuentra cuando ambas columnas tienen valores duplicados.

Si hubiéramos establecido esto en 1, solo la primera fila habría sido revisada en busca de valores duplicados.

Eliminar filas de la tabla

Este código eliminará la segunda fila de una tabla haciendo referencia a ListObjects.

1 ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete

Eliminar filas filtradas

Para eliminar solo las filas que son visibles después del filtrado:

1 Rango ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete

Eliminar filas en el rango

Este código eliminará todas las filas en el rango:

1 Rango ("a1: a10"). EntireRow.Delete

Eliminar filas seleccionadas

Este código eliminará todas las filas seleccionadas:

1 Selection.EntireRow.Delete

Eliminar última fila

Esto eliminará la última fila utilizada en la columna B:

1 Celdas (Rows.Count, 2) .End (xlUp) .EntireRow.Delete

Al cambiar de 2 a 1, puede eliminar la última fila utilizada en la columna A, etc .:

1 Celdas (Rows.Count, 1) .End (xlUp) .EntireRow.Delete

Eliminar columnas por número

Para eliminar una columna por su número, use un código como este:

1 Columnas (2) .Eliminar

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave