Cómo borrar rangos de Excel con VBA

Suprimir rangos de excel

Un día más nos fijamos en las muchas opciones que nos ofrecen las macros o VBA de Excel. Entre las funciones que podemos realizar con VBA están copiar o sumar los contenidos de nuestras tablas de Excel, pero también podemos utilizar una macro para borrar rangos de Excel de manera automática, sin tener que hacerlo a mano. Es la forma de asegurarnos de que eliminamos solo el contenido del rango de Excel que queremos borrar, sin que pueda haber errores, y como es habitual la clave está en introducir la fórmula correcta para borrar rangos.

Fórmula para borrar rangos de Excel en VBA

Como siempre, lo primero para crear una macro de Excel será abrir el editor de Visual Basic presionando a la vez las teclas Alt + F11. Desde el emplorador de proyectos haremos doble click sobre la hoja de Excel en la que queremos borrar los rangos con la macro -debes hacerlo siempre en la hoja donde quieres borrar los rangos con VBA-; y al final añadiremos la fórmula de la macro que veremos a continuación. En el ejemplo vamos a indicar la macro para borrar los rangos D4 a G7.

Sub BorrarContenido()
Range(“D4:G7”).ClearContents
End Sub

Inserta la marco en una autoforma de la hoja en la que estás trabajando, haz click derecho sobre la Autoforma y selecciona Asignar macro. El contenido del rango indicado desaparecerá. Recuerda que para que la macro salga bien, cada vez que trabajes con VBA debes respetar todas las fórmulas, lo que incluye los espacios -o la ausencia de ellos-, los saltos de línea, las mayúsculas y minúsculas o los símbolos de puntuación. Cada línea tiene su propia función y su significado, y si las alteramos fracasaremos en nuestro intento de borrar rangos de Excel con VBA.



La primera línea, Sub BorrarContenido(), nos indica el inicio de la macro, mientras que en la línea final nos encontramos con que acaba la macro o subrutina, de ahí que aparezca Sub al lado de End. Estas dos filas de Excel permanecerán siempre inalterables, y solo podremos modificar la segunda línea, en la que indicamos entre paréntesis el Objeto Range, que es la clave de que nuestra macro funcione o no. En esta segunda línea es donde incluimos el rango de celdas que contienen una información que queremos eliminar.

Así, en cada momento indicaremos el rango que queremos eliminar en nuestra macro. En el caso del ejemplo hemos ordenado que se borren las celdas que aparecen entre la D4 y la G7, pero lo podemos modificar a nuestro antojo. El rango también puede ser en una misma columna o de una fila. Por ejemplo, si quieres borrar las celdas B3 a B7 la segunda línea de la fórmula sería Range(“B3:B7”).ClearContents y si quieres eliminar las celdas B7 a G7 de una fila sería Range(“B7:G7”).ClearContents.

Ten en cuenta que con la macro solo eliminaremos el contenido del rango, pero no modificaremos la fuente ni el formato de las celdas incluidas en ese rango. Así, si tienes la hoja de cálculo en letra Arial 10 pero en el rango que has borrado con VBA había una celda con letra Times New Roman 12 negrita, cuando vuelvas a añadir contenido a esa celda lo harás con Times New Roman 12 negrita.

Cómo buscar rangos en Excel

  • ¿Te ha servido de ayuda?
  • No