すべて表示

すべて表示

PasteSpecial メソッド

       

Range オブジェクトの PasteSpecial メソッド

クリップボードのデータを、指定されたセル範囲に貼り付けます。

expression.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)

expression   必ず指定します。対象となる Range オブジェクトを返すオブジェクト式を指定します。

Paste   省略可能です。XlPasteType クラスの定数を使用します。範囲の中で貼り付ける部分を指定します。

使用できる定数は、次に示す XlPasteType クラスの定数のいずれかです。
xlPasteAll 既定値
xlPasteAllExceptBorders
xlPasteColumnWidths
xlPasteComments
xlPasteFormats
xlPasteFormulas
xlPasteFormulasAndNumberFormats
xlPasteValidation
xlPasteValues
xlPasteValuesAndNumberFormats

Operation   省略可能です。XlPasteSpecialOperation クラスの定数を使用します。貼り付けの操作を指定します。

使用できる定数は、次に示す XlPasteSpecialOperation クラスの定数のいずれかです。
xlPasteSpecialOperationAdd
xlPasteSpecialOperationDivide
xlPasteSpecialOperationMultiply
xlPasteSpecialOperationNone 既定値
xlPasteSpecialOperationSubtract

SkipBlanks   省略可能です。バリアント型 (Variant) の値を使用します。クリップボードに含まれる空白のセルを貼り付けの対象にしないようにするには、True を指定します。既定値は False です。

Transpose   省略可能です。バリアント型 (Variant) の値を使用します。指定すると、貼り付けのときにデータの行と列を入れ替えるには、True を指定します。既定値は False です。

Worksheet オブジェクトの PasteSpecial メソッド

指定された形式で、クリップボードの内容をシートに貼り付けます。他のアプリケーションからデータを貼り付けるときや、あるいは特別な形式でデータを貼り付ける場合に使います。

expression.PasteSpecial(Format, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, NoHTMLFormatting)

expression   必ず指定します。対象となる Worksheet オブジェクトを返すオブジェクト式を指定します。

Format   省略可能です。バリアント型 (Variant) の値を使用します。クリップボードのデータの形式を文字列で指定します。

Link   省略可能です。バリアント型 (Variant) の値を使用します。元のデータと貼り付けたデータの間にリンクを設定するには、True を指定します。元のデータがリンクに適さないデータである場合や、元のデータを作成したアプリケーションがリンクをサポートしない場合には、この引数は無視されます。既定値は False です。

DisplayAsIcon   省略可能です。バリアント型 (Variant) の値を使用します。True を設定すると、貼り付けたものをアイコンで表示します。既定値は False です。

IconFileName   省略可能です。バリアント型 (Variant) の値を使用します。使われるアイコンの含まれているファイルを指定するには、引数 DisplayAsIconTrue を指定します。

IconIndex   省略可能です。バリアント型 (Variant) の値を使用します。アイコン ファイルのどのアイコンを使うかを示すインデックス番号を指定します。

IconLabel   省略可能です。バリアント型 (Variant) の値を使用します。アイコンのラベルを文字列で指定します。

NoHTMLFormatting   省略可能です。バリアント型 (Variant) の値を使用します。True を設定すると、HTML から書式設定、ハイパーリンク、およびイメージを削除します。False を設定すると、HTML をそのまま貼り付けます。既定値は False です。

解説

メモ   NoHTMLFormatting は、Format = "HTML" のときにのみ意味を持ちます。それ以外の場合、NoHTMLFormatting は無視されます。

このメソッドを使う前に、貼り付け先のセル範囲を必ず選択してください。

このメソッドは、クリップボードの内容に合うように現在の選択範囲を変更します。

使用例

Range オブジェクトの場合

次の使用例は、シート 1 のセル範囲 D1:D5 の各セルのデータに、シート 1 のセル範囲 C1:C5 の対応するセルのデータを加算します。

  With Worksheets("Sheet1")
    .Range("C1:C5").Copy
    .Range("D1:D5").PasteSpecial _
        Operation:=xlPasteSpecialOperationAdd
End With

Worksheet オブジェクトの場合

次の使用例は、クリップボードの Word 文書のオブジェクトを、シート 1 のセル D1 に貼り付けます。

  Worksheets("Sheet1").Range("D1").Select
ActiveSheet.PasteSpecial format:= _
    "Microsoft Word 8.0 Document Object"

次の使用例は、クリップボードの Word 文書のオブジェクトを、シート 1 のセル F5 に貼り付け、それをアイコンとして表示します。

  Worksheets("Sheet1").Range("F5").Select
ActiveSheet.PasteSpecial _
        Format:="Microsoft Word 8.0 Document Object", _
        DisplayAsIcon:=True