形式を選択して貼り付ける

構文

マニュアル操作による「形式を選択して貼り付け」の機能のほぼ全てを実現します。例外は「リンク貼り付け」で、この場合はPasteメソッドを使用します。引数Pasteが「貼り付け」、Operationが「演算」の各項目に対応しています。次に示す表で確認してください。

  構文 Object.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)

項目 内容
Object Rangeオブジェクト
Paste 貼り付け形式指定(下表参照)[省略可能]
Operation 演算して貼り付けの際の演算方法指定[省略可能]
SkipBlanks 空白セルを無視しない(false:既定値)[省略可能]
Transpose 行列を入れ替えない(false:既定値)[省略可能]

定数一覧表

  (xlPasteType クラス)

対象 定数
すべて xlPasteAll(既定)
数式 xlPasteFormulas
xlPasteValues
書式 xlPasteFormats
コメント xlPasteComments
入力規制 xlPasteValidation
罫線を除く全て xlPasteAllExceptBorders
列幅 xlPasteColumnWidths
数式と数値の書式 xlPasteFormulasAndNumberFormats
値と数値の書式 xlPasteValuesAndNumberFormats
コピー元のテーマを使用してすべて貼り付け xlPasteAllUsingSourceTheme
すべての結合されている条件付き書式 xlPasteAllMergingConditionalFormats

定数一覧表

  (xlPasteSpecialOperation クラス)

演算 定数
しない xlPasteSpecialOperationNone(既定)
加算 xlPasteSpecialOperationAdd
減算 xlPasteSpecialOperationSubtract
乗算 xlPasteSpecialOperationMultiply
除算 xlPasteSpecialOperationDivide

サンプル

              
' すべて貼り付け
Worksheets("WORK書式").Range("A1:AU1").Copy
Worksheets(SheetName1).Range("A3:AU" & i).PasteSpecial

' 数式のみを貼り付け Worksheets("WORK書式").Range("A1:AU1").Copy Worksheets(SheetName1).Range("A3:AU" & i).PasteSpecial Paste:=xlPasteFormulas
' 値を貼り付け後書式を貼り付け Worksheets(SheetName0).Range("A1:AU" & i).Copy Worksheets(SheetName1).Range("A3:AU" & i + 2).PasteSpecial Paste:=xlPasteValues Worksheets("WORK書式").Range("A1:AU1").Copy Worksheets(SheetName1).Range("A3:AU" & i + 2).PasteSpecial Paste:=xlPasteFormats
' 選択範囲を解除 Application.CutCopyMode = False