形式を選択して貼り付ける
構文
マニュアル操作による「形式を選択して貼り付け」の機能のほぼ全てを実現します。例外は「リンク貼り付け」で、この場合は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