VBA Eliminar filas - Ejemplos para eliminar filas de Excel usando VBA

Tabla de contenido

Excel VBA Eliminar fila

Normalmente, en la hoja de trabajo de Excel, tenemos dos métodos diferentes para eliminar filas, uno es el método abreviado de teclado y otro usando el método de clic derecho e insertar, pero en VBA tenemos que usar el comando de eliminación y la declaración de la hoja de trabajo para eliminar las filas juntas, el truco para esto es que si necesitamos eliminar una sola fila, damos una referencia de una sola fila, pero para las columnas múltiples damos referencias de múltiples filas.

Usando el método de eliminación de filas de VBA, podemos eliminar todas las filas en blanco y podemos eliminar la fila según el valor de la celda. También podemos eliminar toda la fila si alguna de las celdas está en blanco.

En este artículo, analizaremos el método "VBA Delete Row". Manténgase ocupado durante los próximos 15 a 20 minutos para aprender sobre el concepto.

¿Cómo eliminar una fila?

Ejemplo 1

En VBA, debemos mencionar la fila que estamos eliminando.

Código:

Sub DeleteRow_Example1 () Celdas (1, 1) End Sub

Las celdas (1, 1) significan la primera columna de la primera fila, es decir, la celda A1. Luego usamos el método "eliminar".

Código:

Sub DeleteRow_Example1 () Celdas (1, 1) .Eliminar End Sub

Ahora, esto eliminará la primera celda. Todos los valores del lado derecho se desplazarán una celda hacia la izquierda.

Ejemplo # 2

Si desea eliminar toda la fila, debemos usar la propiedad "EntireRow", luego debemos usar el método "eliminar" para eliminar toda la fila de la celda que hemos seleccionado.

Código:

Sub DeleteRow_Example2 () Celdas (1, 1) .EntireRow.Delete End Sub

Por ejemplo, he ingresado algunos caracteres en una hoja de Excel de la siguiente manera.

Ahora, si ejecuto este código, eliminará toda la fila, no una sola celda.

Ejemplo # 3

Podemos eliminar la fila de varias formas. En el ejemplo anterior, hemos eliminado la fila utilizando la propiedad CELLS. Ahora veremos cómo eliminar usando la propiedad ROWS.

Ahora debemos mencionar cuál es la fila que debemos eliminar. Digamos que necesitamos eliminar la quinta fila.

Ahora use la propiedad "EntireRow".

Después de seleccionar la propiedad, lo que debemos hacer, es decir, el método. Necesitamos eliminar la fila.

Código:

Sub DeleteRow_Example3 () Filas (5) .EntireRow.Delete End Sub

Entonces, este código eliminará la quinta fila.

Ejemplo # 4

Eliminar varias filas utilizando el objeto de rango

¿Cómo eliminamos varias filas?

Podemos usar el objeto VBA RANGE para eliminar más de una fila. Suponga que tiene algunos valores de las celdas A1 a A6.

Ahora quiero eliminar las primeras 5 filas, para poder hacer referencia a estas filas usando el objeto Range como "Rango (" A1: A5 ")"

Código:

Sub DeleteRow_Example4 () Rango ("A1: A5") End Sub

Ahora quiero usar la propiedad de palabra "EntireRow".

Código:

Sub DeleteRow_Example4 () Rango ("A1: A5"). EntireRow End Sub

En toda esta fila, debemos realizar el método de eliminación, así que use el método Delete.

Código:

Sub DeleteRow_Example4 () Rango ("A1: A5"). EntireRow.Delete End Sub

Ahora esto eliminará las filas seleccionadas.

Ejemplo # 5

Delete Rows Based On Cell Value

We can also use this “EntireRow.Delete” method to delete the row based on cell value in VBA. For example, I have Yes & No values from cell A1 to A10.

Now we need to delete the rows which have the value “No.” To perform this task, we need to use the function “IF” with loops to delete all the rows which have the value of “No.”

The below code will do the job for us.

Code:

Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range are blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

Sub DeleteRow_Example6() Range("A1:F10").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

This will identify the blank cells in the range A1 to F10.IF any blank cells are found, they will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells, it will not delete. So keeping this in mind, I have written one more code.

Code:

Sub DeleteRow_Example7 () Atenuar RangeToDelete como rango Atenuar DeletionRange como rango Establecer RangeToDelete = Application.InputBox ("Seleccione el rango", "Eliminación de filas de celdas en blanco", Tipo: = 8) Establecer DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTypeBlanks). .Eliminar End Sub

Cuando ejecute este código, en primer lugar, le pedirá que seleccione el rango con un cuadro de entrada que aparece frente a usted.

Después de seleccionar el rango, debe hacer clic en Aceptar. Eliminará todas las filas de celdas en blanco en el rango seleccionado.

Articulos interesantes...