Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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)
Syntax
'Declaration
Function PasteSpecial ( _
    Paste As XlPasteType, _
    Operation As XlPasteSpecialOperation, _
    SkipBlanks As Object, _
    Transpose As Object _
) As Object
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: 
- Operation 
 Type: Microsoft.Office.Interop.Excel.XlPasteSpecialOperation- The paste operation. - Can be one of the following XlPasteSpecialOperation values: 
- 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
Remarks
Optional Parameters
For information on optional parameters, see Optional Parameters in Office Solutions.
Examples
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 Sub CopyAndPasteSpecialRange()
        Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
            = Me.Controls.AddNamedRange(Me.Range("A1", "A3"), _
            "namedRange1")
        namedRange1.Value2 = 22
        Dim namedRange2 As Microsoft.Office.Tools.Excel.NamedRange _
            = Me.Controls.AddNamedRange(Me.Range("C1", "C3"), _
            "namedRange2")
        namedRange2.Value2 = 5
        ' Copy the contents of namedRange1 to the clipboard, and then 
        ' paste the contents into namedRange2, adding each value to 
        ' the value in namedRange2.
        namedRange1.Copy()
        namedRange2.PasteSpecial(Excel.XlPasteType.xlPasteAll, _
        Excel.XlPasteSpecialOperation.xlPasteSpecialOperationAdd, _
        False, False)
    End Sub
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();
    namedRange2.PasteSpecial(Excel.XlPasteType.xlPasteAll,
        Excel.XlPasteSpecialOperation.xlPasteSpecialOperationAdd,
        false,
        false);
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.