строки для занесения данных
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