Как скопировать область ячеек с сохранением всех форматов? Как скопировать только значения ячейки?
Метод Copy позволяет не только копировать содержимое области ячеек в буфер обмена (при пустом параметре), но и задать конкретный адрес ячеек для копирования. Если вы хотите вставить из буфера только некоторые параметры скопированной в БО ячейки, то для вставки используйте метод PasteSpecial, указав необходимый XlPasteType (первый аргумент).
Delphi:
R := ASheet.Range['A1', EmptyParam]; // скопируем ячейку "A1" в "C3" - напрямую в ячейку
R.Copy(ASheet.Range['C3', EmptyParam]); // текущий лист
// в соседний лист
R.Copy((XL.Sheets[2] as _Worksheet).Range['C3', EmptyParam]);
// скопируем через буфер обмена
R.Copy(EmptyParam); // поместим в БО
// вставим в ячейку "C3" в текущем листе
ASheet.Paste(ASheet.Range['C5', EmptyParam], EmptyParam, lcid); // в соседний лист
(XL.Sheets[2] as _Worksheet).Paste( (XL.Sheets[2] as _Worksheet).Range['C5', EmptyParam], EmptyParam, lcid);
// вставляем только значение ячейки без форматирования
ASheet.Range['C7', EmptyParam].PasteSpecial(xlPasteValues, xlPasteSpecialOperationNone, False, False);
Copy Method
PasteSpecial Method
Paste Method
CutCopyMode Property