Hola...
Tienes que hacer referencia correctamente a cada rango en cada hoja, te muestro dos formas de hacerlo:
Código: Seleccionar todo
Option Explicit
Sub BorrarCeldas1()
Dim oDoc As Object
Dim oRango1 As Object
Dim oRango2 As Object
Dim oRango3 As Object
'Este documento
oDoc = ThisComponent
'Hoja por indice rango por nombre
oRango1 = oDoc.getSheets.getByIndex(0).getCellRangeByName("A1:B5")
'Hoja por nombre rango por nombre
oRango2 = oDoc.getSheets.getByName("Hoja2").getCellRangeByName("C5:D10")
'Hoja por indice rango por posicion
oRango3 = oDoc.getSheets.getByIndex(2).getCellRangeByPosition(1,1,4,4)
'Borramos todos los datos en cada rango
oRango1.clearContents(1023)
oRango2.clearContents(1023)
oRango3.clearContents(1023)
End Sub
'Aquí usamos un contender de rangos
Sub BorrarCeldas2()
Dim oDoc As Object
Dim oRangos As Object
Dim oDirRango As Object
'Este documento
oDoc = ThisComponent
'Contenedor de rangos
oRangos = oDoc.createInstance("com.sun.star.sheet.SheetCellRanges")
'Direccion de un rango
oDirRango = CreateUnoStruct( "com.sun.star.table.CellRangeAddress" )
'La direccion de un rango en la primer hoja
oDirRango = oDoc.getSheets.getByIndex(0).getCellRangeByName("A1:B5").getRangeAddress()
'Lo agregamos al contender de rangos
oRangos.addRangeAddress( oDirRango, False )
'Aqui usamos la estructura directamente
With oDirRango
.Sheet = 1
.StartColumn = 0
.StartRow = 0
.EndColumn = 1
.EndRow = 4
End With
'Lo agregamos al contender de rangos
oRangos.addRangeAddress( oDirRango, False )
'La direccion de un rango en la tercer hoja
oDirRango = oDoc.getSheets.getByIndex(2).getCellRangeByName("A1:B5").getRangeAddress()
'Lo agregamos al contender de rangos
oRangos.addRangeAddress( oDirRango, False )
'Borramos todos el contenido de todos los rangos
oRangos.clearContents(1023)
End Sub
Todo este código lo he tomado de mi libro, donde puedes resolver cualquier duda respecto a tu pregunta y otras muchas más:
http://www.universolibre.org/node/7
Por favor, si esto responde tu pregunta,
edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.
Saludos