Excel ЧаВо


Как скопировать область ячеек с сохранением всех форматов? Как скопировать только значения ячейки?


Метод 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



Содержание раздела