Una Macro para borrar los todos los datos introducidos en una hoja de calculo
Gracias
Lo que requieres es:
Seleccionar la hoja de cálculo activa en el documento actual, establecer que en todas las celdas desde A1 hasta la última celda utilizada se borre el contenido de las celdas, manteniendo las fórmulas de las celdas intactas, esto último lo haría la opción “7” como argumento en el método clearContents().
Para utilizar la macro, en el documento de Calc que contiene la hoja de cálculo, pulsa Alt + F11, en el editor de macros que se abre, pega el código en un módulo nuevo, guarda el módulo y cierra el editor de macros, asigna asignar una combinación de teclas o un botón de la barra de herramientas a la macro para poder ejecutarla con facilidad.
Sub BorrarDatos()
Dim oDoc as Object
Dim oSheet as Object
Dim oRange as Object
Dim nColumns as Integer
Dim nRows as Integer
oDoc = ThisComponent
oSheet = oDoc.getCurrentController().getActiveSheet()
oRange = oSheet.getCellRangeByName("A1")
nColumns = oSheet.getColumns().getCount()
nRows = oSheet.getRows().getCount()
oRange = oRange.getCellRange(nRows - 1, nColumns - 1)
oSheet.getCellRangeByName(oRange.getRangeAddress()).clearContents(7)
End Sub
Me dice que esta linea produce desbordamiento.
nRows = oSheet.getRows().getCount()
Prueba declarar las variables “nColumns” y “nRows” como “Long” en lugar de “Integer”.
Sub BorrarDatos()
Dim oDoc as Object
Dim oSheet as Object
Dim oRange as Object
Dim nColumns as Long
Dim nRows as Long
oDoc = ThisComponent
oSheet = oDoc.getCurrentController().getActiveSheet()
oRange = oSheet.getCellRangeByName("A1")
nColumns = oSheet.getColumns().getCount()
nRows = oSheet.getRows().getCount()
oRange = oRange.getCellRange(nRows - 1, nColumns - 1)
oSheet.getCellRangeByName(oRange.getRangeAddress()).clearContents(7)
End Sub
Hola buen día. Acabo de suscribirme y estoy empezando con macros en Libreoffice Calc.
Mi pregunta es: ¿como hago para seleccionar una rango de celdas vacías y eliminarlas? Es para hacer un sistema de facturación. Gracias.
Por favor, no uses la pregunta de otra persona para hacer la tuya en un comentario, en vez de esto, abre un nuevo hilo para tu pregunta, intentando ser más detallado.