'Returns a 2D array of cells, with optional row and column offsets.
:param range_string: cell range string or `named range` name
:type range_string: string
:param row: number of rows to offset
:type row: int
:param column: number of columns to offset
:type column: int
:rtype: tuples of tuples of :class:`openpyxl.cell.Cell`'

@deprecated("\n                Use    .iter_rows()    working    with    coordinates    'A1:D4',\n                and    .get_squared_range()    when    working    with    indices    (1,    1,    4,    4)\n                and    .get_named_range()    for    named    ranges")
def range(self, range_string, row=0, column=0):

    _rs = range_string.upper()
    m = ABSOLUTE_RE.match(_rs)
    if (m is not None):
        rows = self.iter_rows(_rs, row_offset=row, column_offset=column)
        return tuple((row for row in rows))
    else:
        return self.get_named_range(range_string)
