Contenido claro de VBA - ¿Cómo borrar o eliminar contenidos usando el código VBA?

Tabla de contenido

Contenido claro de Excel VBA

El contenido claro es un método en VBA que se usa para eliminar o eliminar los valores que se almacenan en las celdas que se le proporcionan, este método hace que el rango de celdas esté vacío y se usa con la propiedad de rango para acceder al rango de celdas especificado, el ejemplo utilizar este método es el siguiente rango (“A1: B2”). ClearContents este método borrará el contenido de las celdas de A1 a B2.

En Excel, agregar datos y eliminarlos es una tarea de rutina común. A veces eliminamos un solo valor de celda, a veces muchos valores de celda y, en ocasiones, es posible que necesitemos eliminar también todo el contenido de la hoja de trabajo. En este artículo, le mostraremos cómo utilizar el método "Contenido claro" en Excel VBA. En VBA, tenemos muchos métodos para hacer esto, como "Borrar", "Eliminar" y "Borrar contenido".

¿Qué son los contenidos claros en Excel VBA?

Antes de contarles sobre Clear Contents en VBA, permítanme mostrarles cómo podemos eliminar o borrar los datos en el rango específico.

Por ejemplo, mire los datos a continuación.

Ahora, si quiero borrar de la celda A1 a C3, primero debemos mencionar el rango de celdas que usan el objeto VBA RANGE.

Código:

Rango ("A1: C3")

Después de mencionar el rango de celdas utilizando el objeto RANGE, debemos seleccionar el método "Borrar" para borrar la mención de los valores de celda.

Código:

Rango ("A1: C3"). Borrar

Esto borrará los valores de celda mencionados.

Código:

Sub Clear_Example () Range ("A1: C3"). Clear End Sub

Aparte del método clear, también podemos usar el método “DELETE”.

Código:

Rango ("A1: C3"). Eliminar

Esto eliminará los valores de celda mencionados, tal como lo ha hecho nuestro método clear.

Si desea eliminar todos los datos de la celda, puede usar la propiedad VBA CELLS con un nombre de hoja de trabajo.

Hojas de trabajo ("Hoja1"). Celdas Eliminar
Hojas de trabajo ("Hoja1"). Cells.Clear

Ambos códigos anteriores eliminarán todos los datos de la hoja de trabajo "Hoja1". Eliminará los valores de celda desde la primera celda hasta la última celda de la hoja de trabajo.

Si desea eliminar las celdas de la hoja actual, puede usar el objeto Hoja activa.

ActiveSheet.Cells.Delete o ActiveSheet.Cells.Clear

Diferencia entre los métodos Clear y Delete

Sé que esta pregunta ya debería haberse reproducido en su mente.

Sí, existe una diferencia entre estos dos métodos.

Cuando utilice el método "Eliminar", eliminará la celda, y la celda de abajo tomará la posición de la celda eliminada.

Por ejemplo, mire la imagen de abajo.

Ahora usaré el método de eliminación para eliminar la celda A1.

Código:

Sub Clear_Example () Range ("A1"). Eliminar End Sub

Ejecutaré este código y veré qué sucede.

Mira lo que pasó aquí; como dije cuando eliminé la celda A1, se elimina, pero la celda A2 se mueve una celda hacia arriba y ocupa la celda eliminada. Esto dará lugar a una falta de coincidencia de datos. Así que tenga cuidado al usar el método Delete.

Ahora, para los mismos datos, borraré el método.

Código:

Sub Clear_Example () Range ("A1"). Clear End Sub

Ahora vea lo que sucede cuando ejecuto este código.

Este código acaba de desocupar la celda A1 sin alterar otras celdas. Este parece un método adecuado para eliminar solo la parte de las celdas de todo el rango de datos.

Utilice el método de contenido claro de VBA para conservar el formato de las celdas

Si ha observado los dos métodos anteriores, esos dos métodos no solo eliminaron o borraron las celdas proporcionadas. También eliminó el formato de las celdas que proporcionamos.

Para retener el formato de las celdas, no necesitamos usar ni “Eliminar” ni “Borrar”, pero necesitamos usar el método de “Borrar contenido” de VBA.

En el momento en que ingrese al rango de celdas usando un objeto RANGE, mostrará todas las propiedades y métodos asociados con él.

We can access “Delete,” we can access “Clear,” and we can also “ClearContents” methods.

Select this method.

Code:

Sub Clear_Example() Range("A1:C3").ClearContents End Sub

Now, this will clear content from A1 to C3 cell, but we will have all the existing formatting as it is.

As you can see in the above picture, we have cell color in VBA, borders, and every formatting associated with those mentioned cells.

Similarly, we can clear the contents of other sheets as well.

Worksheets(“Sheet1”).Range(“A1:D10”).ClearContents

This will clear the contents from the cells A1 to D10 in the sheet “Sheet1”.

Similarly, we can delete the other open workbook cells as well.

Workbooks(“Book1.xlsx”).Worksheets(“Sheet1”).Range(“A1:D10”).ClearContents

Loop Through all the Worksheets and Clear Contents of Specific Range

Suponga que tiene muchas hojas en su libro de trabajo y desea eliminar el rango de celdas de A1 a C15 en todas las hojas que necesitamos usar For Each Loop en VBA para hacer esto.

El siguiente código hará el trabajo.

Código:

Sub Clear_All () Dim Ws como hoja de trabajo para cada W en ActiveWorkbook.Worksheets Ws.Range ("A1: C15"). ClearContents Siguiente Ws End Sub
Nota: Puede cambiar el rango de celdas según su deseo.

En caso de que desee borrar todos los datos de la hoja de trabajo, debe utilizar el siguiente código.

Código:

Sub Clear_All () Dim Ws como hoja de trabajo para cada W en ActiveWorkbook.Worksheets Ws.Cells.ClearContents Siguiente Ws End Sub

Puede descargar esta plantilla de Excel de contenido claro de VBA aquí - Plantilla de contenido claro de VBA.

Articulos interesantes...