Ooit heb ik op dit forum een macroscript getoond dat de inhoud van een bepaald aantal aangrenzende cellen gaat verwijderen. Door gebruik te maken van getCellRangeByName kan men gebruik maken van de benaming van de cellen zoals men ze benut in het gewone gebruik van functies. Om de inhoud van de cellen te wissen van C5:D86 gaat de macro als volgt:
sub Gegevens_wissen
Dim Doc As Object
Dim Sheet As Object
Dim CellRange As Object
Dim Flags As Long
Doc = ThisComponent
Sheet = Doc.Sheets(0) 'Het eerste blad of Blad1.'
CellRange = Sheet.getCellRangeByName("C5:D86")
Flags = com.sun.star.sheet.CellFlags.STRING + _
com.sun.star.sheet.CellFlags.VALUE
CellRange.clearContents(Flags)
end sub
Ik denk dat het nog verder gaat dan jouw voorbeeld.
CellRange = Sheet.getCellRangeByName("DitCelGebied")
Het bied dan ook de voordelen van de gegeven namen
Yep, alles wat u kan bepalen tussen A1:AMJ65536. Een aaneengesloten celrange, zoals Eremmel het in zijn PB formuleert.
Trouwens, als u VALUE gaat vervangen door HARDATTR wist u niet enkel de inhoud van de cellen maar ook de celopmaak. Lees hier.