строки для занесения данных
EmptyParam, // CategoryLocal: OleVariant;
EmptyParam, // RefersToR1C1: OleVariant;
EmptyParam // RefersToR1C1Local: OleVariant
); ASheet.Range['DataRange', EmptyParam].Borders[xlEdgeBottom].LineStyle := xlContinuous; ASheet.Range['DataRange', EmptyParam].Borders[xlEdgeBottom].Weight := xlHairline; // КОНЕЦ ШАБЛОНА
// Начало работы с шаблоном
// Добавим 4 строки для занесения данных (итого уже 5 строк для данных)
// Неудобство при использовании Cells в Range - обязательное
// дублирование Cells во втором параметре
ASheet.Range[ ASheet.Cells.Item[ASheet.Range['DataRange', EmptyParam].Row + 1, 1], ASheet.Cells.Item[ASheet.Range['DataRange', EmptyParam].Row + 4, 1] ].EntireRow.Insert(xlShiftDown, EmptyParam);
// теперь заполним область форматированием, захватив (ОБЯЗАТЕЛЬНО)
// и область-шаблон "DataRange"
ASheet.Range['DataRange', EmptyParam].AutoFill( ASheet.Range[ // захватим область источника
ASheet.Cells.Item[ASheet.Range['DataRange', EmptyParam].Row, 1], ASheet.Cells.Item[ASheet.Range['DataRange', EmptyParam].Row + 5, ASheet.Range['DataRange', EmptyParam].Columns.Count] ], xlFillCopy );
// заносим данные из массива (номер и имя) - 5 строк, 2 столбца
arrData := VarArrayCreate([1, 5, 1, 2], varVariant); for i := 1 to 5 do begin
arrData[i, 1] := i; arrData[i, 2] := Format('Имя %d', [i]); end; ASheet.Range[ ASheet.Cells.Item[ASheet.Range['DataRange', EmptyParam].Row, 1], ASheet.Cells.Item[ASheet.Range['DataRange', EmptyParam].Row + 5, 2] ].Formula := arrData;
AutoFill Method
How to: Copy Data and Formatting across Worksheets