NamedRange.PasteSpecial Method

Pastes the contents of a Microsoft.Office.Interop.Excel.Range object from the Clipboard into the NamedRange control.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Object PasteSpecial(
	XlPasteType Paste,
	XlPasteSpecialOperation Operation,
	Object SkipBlanks,
	Object Transpose
)

Parameters

Paste
Type: Microsoft.Office.Interop.Excel.XlPasteType
The part of the range to be pasted.
Can be one of the following XlPasteType values:
xlPasteAll
xlPasteAllExceptBorders
xlPasteColumnWidths
xlPasteComments
xlPasteFormats
xlPasteFormulas
xlPasteFormulasAndNumberFormats
xlPasteValidation
xlPasteValues
xlPasteValuesAndNumberFormats
Operation
Type: Microsoft.Office.Interop.Excel.XlPasteSpecialOperation
The paste operation.
Can be one of the following XlPasteSpecialOperation values:
xlPasteSpecialOperationAdd
xlPasteSpecialOperationDivide
xlPasteSpecialOperationMultiply
xlPasteSpecialOperationNone
xlPasteSpecialOperationSubtract
SkipBlanks
Type: System.Object
true to not have blank cells in the range on the Clipboard pasted into the destination range. The default value is false.
Transpose
Type: System.Object
true to transpose rows and columns when the range is pasted. The default value is false.

Return Value

Type: System.Object

Optional Parameters

For information on optional parameters, see Optional Parameters in Office Solutions.

The following code example uses the Copy method to copy the contents of a NamedRange control named NamedRange1 to the Clipboard, and then uses the PasteSpecial method to paste these contents into a NamedRange control named NamedRange2. The Operation parameter is set to xlPasteSpecialOperationAdd so that the content of each cell in NamedRange1 is added to the corresponding cell in NamedRange2.

This example is for a document-level customization.


private void CopyAndPasteSpecialRange()
{
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A3"],
        "namedRange1");
    namedRange1.Value2 = 22;

    Microsoft.Office.Tools.Excel.NamedRange namedRange2 =
        this.Controls.AddNamedRange(this.Range["C1", "C3"],
        "namedRange2");
    namedRange2.Value2 = 5;

    // Copy the contents of namedRange1 to the clipboard, and then
    // paste the contents into namedRange2, adding each to
    // the value in namedRange2.
    namedRange1.Copy(missing);
    namedRange2.PasteSpecial(Excel.XlPasteType.xlPasteAll,
        Excel.XlPasteSpecialOperation.xlPasteSpecialOperationAdd,
        false,
        false);
}


Community Additions

ADD
Show: