'Set the autofilter area in the worksheet.
Args:
first_row:    The first row of the cell range. (zero indexed).
first_col:    The first column of the cell range.
last_row:     The last row of the cell range. (zero indexed).
last_col:     The last column of the cell range.
Returns:
Nothing.'

@convert_range_args
def autofilter(self, first_row, first_col, last_row, last_col):

    if (last_row < first_row):
        (first_row, last_row) = (last_row, first_row)
    if (last_col < first_col):
        (first_col, last_col) = (last_col, first_col)
    area = self._convert_name_area(first_row, first_col, last_row, last_col)
    ref = xl_range(first_row, first_col, last_row, last_col)
    self.autofilter_area = area
    self.autofilter_ref = ref
    self.filter_range = [first_col, last_col]
