Jump to content

Clear All Filters for a Sheet

From The Document Foundation Wiki


Summary

This page provides a LibreOffice Basic macro procedure that removes the current sheet filter by setting an empty filter. It is an example drawn from Chapter 13 ("Calc as a Database") of the 7.0 Calc Guide.

Description

When a filter is applied to a sheet, it replaces any existing filter for that sheet. Therefore, to remove a filter in a sheet, simply create and set an empty filter for that sheet (see code below).

Code

Sub RemoveSheetFilter()
  Dim oSheet          ' Sheet to filter.
  Dim oFilterDesc     ' Filter descriptor.
  
  oSheet = ThisComponent.getSheets().getByIndex(0)
  oFilterDesc = oSheet.createFilterDescriptor(True)
  oSheet.filter(oFilterDesc)
End Sub

This Calc spreadsheet contains the above LibreOffice Basic code.