Contenido claro de VBA

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 los datos y eliminarlos es una tarea de rutina común. A veces eliminamos el valor de una sola celda, a veces muchos valores de celda y, en ocasiones, es posible que también necesitemos eliminar 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 acerca de 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.

Para ver un 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.

Mire lo que sucedió aquí, como dije cuando eliminé la celda A1, se eliminó, pero la celda A2 se mueve una celda hacia arriba y ocupó la celda eliminada. Esto provocará 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.

Podemos acceder a "Eliminar", podemos acceder a "Borrar", y también podemos acceder a los métodos de "Borrar contenido".

Seleccione este método.

Código:

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

Ahora, esto borrará el contenido de la celda A1 a la C3, pero tendremos todo el formato existente tal como está.

Como puede ver en la imagen de arriba, tenemos el color de celda en VBA, bordes y todos los formatos asociados con esas celdas mencionadas.

Del mismo modo, también podemos borrar el contenido de otras hojas.

Hojas de trabajo ("Hoja1"). Rango ("A1: D10"). BorrarContenido

Esto borrará el contenido de las celdas A1 a D10 en la hoja "Hoja1".

Del mismo modo, también podemos eliminar las otras celdas abiertas del libro.

Libros de trabajo ("Libro1.xlsx"). Hojas de trabajo ("Hoja1"). Rango ("A1: D10"). ClearContents

Recorra todas las hojas de trabajo y contenido claro de un rango específico

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 usar 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