pub fn parse_range(range: &str) -> Option<(usize, usize, usize, usize)>
Parse a cell range like “A1:B5” and return (start_row, start_col, end_row, end_col).