protected Range ValidateRange(Range rng)
{
//Position start = rng.Start;
//Position end = rng.End;
//if (rng.Start.Row < Grid.FixedRows)
// start = new Position(Grid.FixedRows, start.Column);
//if (rng.Start.Column < Grid.FixedColumns)
// start = new Position(start.Row, Grid.FixedColumns);
//if (rng.End.Row < Grid.FixedRows)
// end = new Position(Grid.FixedRows, end.Column);
//if (rng.End.Column < Grid.FixedColumns)
// end = new Position(end.Row, Grid.FixedColumns);
//return new Range(start, end);
return Grid.CompleteRange.Intersect(rng);
}