GcSpreadSheet1.CanUserUndo = true;
GcSpreadSheet1.Sheets[0].SetValue(10, 5, 1);
var srange = new GrapeCity.Windows.SpreadSheet.Data.CellRange(10, 5, 1, 1);
var frange = new GrapeCity.Windows.SpreadSheet.Data.CellRange(11, 5, 3, 1);
var dragFillExtent = new GrapeCity.Windows.SpreadSheet.UI.UndoRedo.DragFillExtent(srange, frange, GrapeCity.Windows.SpreadSheet.Data.AutoFillType.CopyCells, GrapeCity.Windows.SpreadSheet.Data.FillDirection.Down);
var action = new GrapeCity.Windows.SpreadSheet.UI.UndoRedo.DragFillUndoAction(GcSpreadSheet1.Sheets[0], dragFillExtent);
GcSpreadSheet1.DoCommand(action);