Cómo borrar datos con VBA

Cómo borrar datos de una hoja de Excel con macros

A la hora de borrar una hoja de Excel tenemos varias posibilidades. Una de las más socorridas es seleccionar todos los contenidos que tenemos en el documento con el comando Ctrl + A y hacer click en suprimir. De esta forma se borrará toda la hoja de Excel, incluidos datos y formatos. Eso mismo se puede hacer con una VBA, pero también podemos utilizar las macros para eliminar solo los datos y conservar el formato o viceversa, e incluso nos permite limpiar una serie de datos muy específicos, sin que el resto del documento se vea afectado.

Cómo borrar datos de una hoja de Excel con VBA

Si quieres borrar toda la hoja con macros, abriremos el editor de visual basic con el comando Alt + F11 y copiaremos una macro de Excel similar a esta:

Sub Eliminar Informaciony FormatodeHoja()
Hoja1.Cells.Clear
End Sub

La primera y la última línea no deberías modificarlas jamás. En ellas se indica el principio y el final de la macro, y que su objetivo es eliminar por completo todos los datos de la hoja de Excel. En la segunda fila sí que podemos modificar el número de la hoja. En este caso la macro eliminaría todos los datos de la Hoja 1 del libro de Excel, pero si quieres borrar la segunda hoja tendrás que especificar “Hoja2.Cells.Clear”. Lo mismo si quieres borrar la tercera, cuarta, etc.

Si solamente quieres limpiar el contenido pero te interesa mantener el formato que le has dado al Excel, deberías utilizar la siguiente macro:

Sub LimpiarClearContents()
Range(“A1:C20”).ClearContents
EndSub

Como en el caso anterior, la primera y la última línea se mantendrán intactas y en la segunda hay que indicar el rango que queremos borrar. En este caso el rango va de las celdas A1 a C20, pero se pueden indicar todas las celdas de Excel que necesitemos. Solo si también quieres eliminar el formato y volver al formato predeterminado que has indicado por defecto para tus Excels podrás cambiar la primera línea, que será “Sub LimpiarClearFormats()”. También tendrás que indicar el rango que quieres limpiar.

Por último vamos a ver cómo limpiar solo unos valores determinados. En ese caso tendrás que utilizar una macro similar a esta:

Sub Valores()
Range(“A1:C20”).Value = “100”
EndSub

En ese caso borraríamos todas las celdas con valor 100, cifra que puedes cambiar por el número o la palabra que quieras borrar de tu documento de Excel. Pero no solo eso, con esta macro también puedes eliminar un formato concreto en VBA. Por ejemplo, escribiendo en la segunda línea Range(“A1:C20”).Font.Bold = True para eliminar todas las negritas, Range(“A1:C20”).Interior.ColorIndex = 6 para un color determinado, etc.

En este artículos puedes descubrir cómo borrar datos sin perder la fórmula.

Para ejecutar correctamente la macro, lo más recomendable sería que insertes la autoforma en la Hoja1 del documento, y luego le asignes la macro recién creada. Para ello haremos click con el botón derecho del ratón sobre la Autoforma y seleccionaremos la opción Asignar marco. Solo hay que seleccionar la macro, y cuando vuelvas a hacer click sobre la autoforma se borrarán el contenido o el formato de la hoja, según lo que hayas elegido. Así podrás utilizar de nuevo esas celdas para continuar trabajando con tu Excel.