VBA Eliminar fila

En Excel para eliminar cualquier fila, tenemos un atajo para usar CTRL +, o podemos seleccionar la fila y hacer clic derecho sobre ella y eliminarla. Pero en VBA lo hemos hecho escribiendo un código para ello. El método para eliminar una fila en VBA es primero que necesitamos identificar qué fila eliminar y luego podemos eliminarla. En este artículo, aprenderemos sobre diferentes ilustraciones sobre cómo eliminar una fila en VBA.

En VBA, Eliminar fila se usa para eliminar un conjunto de filas o una sola fila dependiendo de las situaciones. Similar a la hoja de cálculo de Excel, podemos usar macros o VBA para eliminar las filas en una hoja de cálculo de Excel. Esto ayuda cuando tenemos muchos datos con nosotros y no podemos hacerlo manualmente.

Sintaxis para eliminar fila en Excel VBA

La sintaxis para eliminar una fila en Excel es la siguiente.

Hojas de trabajo. Filas (Fila #). Eliminar

También hay otros métodos para eliminar filas mediante VBA, como se indica a continuación.

Range ("Cell"). EntireRow.Delete

Lo que hará la declaración anterior es que eliminará la fila de la fila dada. Por ejemplo, si escribimos Range ("A1"). EntireRow.Delete, la primera fila se eliminará ya que la celda A1 pertenece a la primera fila.

Además, podemos usar Filas (row_num) .delete para eliminar una fila.

¿Cómo eliminar fila en Excel usando VBA?

A continuación se muestran algunos ejemplos de cómo eliminar una fila en Excel usando VBA.

Puede descargar esta plantilla VBA Delete Row Excel aquí - Plantilla VBA Delete Row Excel

VBA Delete Row - Ejemplo # 1

Dejemos usar el primer método simple para eliminar filas. Para fines de demostración, ingresaré un valor aleatorio en la celda A1 y B1. Echa un vistazo a continuación.

Lo que quiero ver es si uso el código escrito encima de toda la fila se eliminará o se eliminará una sola celda.

Nota: Para usar Excel VBA debemos tener habilitada la pestaña de desarrollador desde la pestaña Archivos en la sección de opciones.

Siga los pasos a continuación para eliminar la fila en Excel usando VBA.

Paso 1: vaya a la pestaña del desarrollador, haga clic en Visual Basic para abrir VBA Editor.

Paso 2: en el segmento de código, declare una subfunción para comenzar a escribir el código.

Código:

 Sub muestra () End Sub 

Paso 3: ahora escribe el siguiente código para eliminar la fila.

Código:

 Submuestra () Rango ("A1"). EntireRow.Delete End Sub 

Paso 4: Ejecute este código presionando F5 o el botón Ejecutar y vea la salida.

Una vez que ejecutamos el código, podemos ver que los valores de las celdas A1 y B1 se eliminan a medida que se elimina toda la primera fila.

VBA Delete Row - Ejemplo # 2

Anteriormente en el primer ejemplo, he eliminado solo una fila. Pero, ¿qué pasa si tenemos que eliminar varias filas? Para fines de demostración, tengo los siguientes datos como se muestra a continuación,

Quiero eliminar todas las primeras cinco filas. Siga los pasos a continuación para eliminar la fila en Excel usando VBA.

Paso 1: en la pestaña del desarrollador, haga clic en Visual Basic para abrir VBA Editor.

Paso 2: en el código declare una subfunción para comenzar a escribir el código,

Código:

 Sub Sample1 () End Sub 

Paso 3: escriba el siguiente código que se muestra a continuación para eliminar las cinco filas completas.

Código:

 Sub Sample1 () Range ("A1: B5"). EntireRow.Delete End Sub 

Paso 4: Ejecute este código presionando F5 o el botón Ejecutar y vea la salida.

Una vez que ejecutamos el código, vemos el siguiente resultado: todos los datos se han eliminado, lo que significa que las primeras cinco filas se han eliminado, ya que teníamos datos en las primeras cinco filas.

Nota: Volveré a insertar los datos en la hoja de muestra de Excel para la demostración.

VBA Delete Row - Ejemplo # 3

Ahora tenemos datos de los empleados y sus ventas se realizan en tres meses, enero, febrero y marzo. Uno de los empleados estaba de permiso y no pudo hacer ventas durante tres meses, por lo que las celdas están vacías para él. Nuestro objetivo es encontrar esa fila en blanco y eliminarla de los datos.

Echa un vistazo a los datos a continuación,

Siga los pasos a continuación para eliminar la fila en Excel usando VBA.

Paso 1: desde la pestaña del desarrollador, haga clic en Visual Basic para abrir un editor visual básico.

Paso 2: declare la subfunción en la ventana de código para comenzar a escribir el código,

Código:

 Sub Sample2 () End Sub 

Paso 3: escriba el siguiente código para eliminar las filas que tienen celdas en blanco.

Código:

 Sub Sample2 () Range ("A1: D5"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

SpecialCells es una función en VBA que nos devuelve todas las celdas que coinciden con nuestras condiciones y nuestra condición eran las celdas en blanco en ese rango, por lo que utilizamos una función xlCellTypeBlanks.

Paso 4: Ejecute este código presionando F5 o el botón Ejecutar y vea la salida.

Una vez que ejecutamos el código, podemos ver que la fila que tenía las celdas en blanco se ha eliminado.

Nota: Volveré a insertar los datos en la hoja de muestra de Excel para la demostración.

VBA Delete Row - Ejemplo # 4

Hay algunos otros métodos similares para eliminar las filas, como el uso de las filas y la función de eliminación. Por ejemplo, tenemos datos en la fila 4 y quiero eliminar la fila 4. Podemos dar un comando para sobresalir para eliminar la 4ta fila en los datos. Eche un vistazo a la captura de pantalla a continuación. Tengo datos aleatorios en la fila 4 de la primera celda.

Siga los pasos a continuación para eliminar la fila en Excel usando VBA.

Paso 1: abra el Editor de VBA haciendo clic en Visual Basic en la pestaña del desarrollador,

Paso 2: declare la subfunción para comenzar a escribir el código.

Código:

 Sub Sample3 () End Sub 

Paso 3: escriba el siguiente código para eliminar la cuarta fila.

Código:

 Sub Sample3 () Filas (4) .Eliminar End Sub 

Paso 4: Ejecute este código presionando F5 o el botón Ejecutar y vea la salida.

Los datos se han eliminado ya que la cuarta fila se ha eliminado.

VBA Delete Row - Ejemplo # 5

En el código anterior, hemos dado el rango o fila para eliminar en el código mismo. Ahora tomemos la entrada del usuario y él puede eliminar la fila de un dato dado. Por ejemplo, tengo datos de empleados y ventas como se indica a continuación y quiero que un usuario seleccione el rango de la cantidad de datos que el usuario desea eliminar en las filas con celdas en blanco. Echa un vistazo a los datos a continuación,

Siga los pasos a continuación para eliminar la fila en Excel usando VBA.

Paso 1: Abra VB Editor haciendo clic en Visual Basic en la pestaña del desarrollador,

Paso 2: declara una subfunción para comenzar a escribir el código.

Código:

 Sub Sample4 () End Sub 

Paso 2: declara dos variables como rango, A y B.

Código:

 Submuestra4 () Dim A como rango Dim B como rango Fin Sub 

Paso 3: Para tomar la entrada del usuario para una selección de rango para eliminar, utilizaremos la función de cuadro de entrada y guardaremos esa entrada en una variable definida anteriormente.

Código:

 Sub Sample4 () Dim A como Range Dim B como Range Set A = Application.InputBox ("Seleccionar datos", "Macro de muestra", Tipo: = 8) End Sub 

Paso 4: Configure B = A para que la entrada del usuario pueda almacenarse en el rango B.

Código:

 Submuestra4 () Dim A como rango Dim B como rango Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) Set B = A End Sub 

Paso 5: Ahora eliminaremos los datos que tienen celdas en blanco del rango elegido por el usuario.

Código:

 Sub Sample4 () Dim A As Range Dim B As Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) Set B = A A.SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

Paso 6: Ahora ejecute el código desde el botón de ejecución proporcionado.

Paso 6: aparece un cuadro de entrada.

Paso 7: Seleccione el rango de A1: D8 en este ejemplo. Presione OK para ver el resultado.

Los datos que tenían celdas en blanco se han eliminado.

Cosas para recordar

Hay algunas cosas que debemos recordar sobre Eliminar fila en Excel VBA:

  • Podemos eliminar la fila en función de una sola celda.
  • Podemos eliminar varias filas dando un rango de celdas.
  • También podemos eliminar filas tomando entradas del usuario.

Artículos recomendados

Esta ha sido una guía para VBA Delete Row. Aquí discutimos cómo Eliminar Row en Excel VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Cómo usar la función Reemplazar en VBA?
  2. Excel Eliminar acceso directo de fila
  3. VBA Case | Trucos de Excel
  4. Excel Insertar acceso directo de fila
  5. ¿Cómo sumar varias filas en Excel?

Categoría: