ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

セルの特定の要素のみをペーストする(PasteSpecial メソッド)

      2015/08/26

PasteSpecial メソッド

PasteSpecial メソッドは、Copy メソッドでコピーされたワークシート上の任意のセル・セル範囲の内容の特定の要素のみ(「値のみ」「列幅のみ」「書式のみ」など)をペーストする時に使用します。


【書式】

Object.PasteSpecial ( [ paste, operation, skipblanks, transpose ] )


引数・戻り値

  • object  ・・・  対象となるRange オブジェクト
  • paste  ・・・  貼り付ける要素を XlPasteType 列挙型 の定数で指定します。(下表参照
  • operation  ・・・  計算を伴う貼り付けの場合の計算方法を XlPasteSpecialOperation の定数で指定します。(下表参照
  • skipblanks  ・・・  クリップボードに含まれる空白のセルを貼り付けの対象にしないようにするには、True を指定します。既定値は False です。
  • transpose  ・・・  行と列を入れ替えて貼り付けるには、True を指定します。既定値は False です。


引数 paste(XlPasteType 列挙型の定数)

定数 内容
xlPasteValues -4163 値のみ
xlPasteComments -4144 コメントを貼り付けます。
xlPasteFormulas -4123 数式を貼り付け
xlPasteFormats -4122 コピーしたソースの形式を貼り付け
xlPasteAll -4104 すべてを貼り付け
xlPasteValidation 6 入力規則を貼り付け
xlPasteAllExceptBorders 7 輪郭以外のすべてを貼り付け
xlPasteColumnWidths 8 コピーした列の幅を貼り付け
xlPasteFormulasAndNumberFormats 11 数式と数値の書式を貼り付け
xlPasteValuesAndNumberFormats 12 値と数値の書式を貼り付け
xlPasteAllUsingSourceTheme 13 ソースのテーマを使用してすべてを貼り付け
xlPasteAllMergingConditionalFormats 14 すべてを貼り付け、条件付き書式をマージ


引数 operation(XlPasteSpecialOperationの定数)

定数 内容
xlPasteSpecialOperationNone -4142 計算は行われない
xlPasteSpecialOperationAdd 2 加算
xlPasteSpecialOperationSubtract 3 減算
xlPasteSpecialOperationMultiply 4 乗算
xlPasteSpecialOperationDivide 5 除算


引数 paste には1つの要素しか指定することができないので、複数の要素をコピーしたい場合は、その要素ごとに、PasteSpecial メソッドを実行します。
(例)列幅と書式をペースト
 Range(“A1”).copy
 Range(“B1”).PasteSpecial xlPasteColumnWidths
 Range(“B1”).PasteSpecial xlPasteFormats


書式が文字列であったり、先頭に「’」シングルコーテーションマークがついた数値が入力されているセルに対して、「空白セル」をコピーして、PasteSpecial メソッドで、引数 operation に、xlPasteSpecialOperationAdd を指定してその数値が入力されたセルにペーストすると、標準の書式に変更され、「’」シングルコーテーションマークも取り除かれます。


PasteSpecial メソッドの使用例

サンプルVBAソース


実行結果

サンプルVBA実行前

PasteSpecial メソッド01

サンプルVBA実行後

PasteSpecial メソッド02




 - セルの操作 , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

対象のセルが直接参照しているセル全てを取得(DirectPrecedents プロパティ)

DirectPrecedents プロパティ DirectPrecedents …

セルを削除する(Delete メソッド)

Delete メソッド Delete メソッドで、指定したセル・セル範囲を削除し …

文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)

HorizontalAlignment プロパティ HorizontalAlig …

FormulaHidden プロパティ 例1
数式を非表示にする(FormulaHidden プロパティ)

FormulaHidden プロパティ 数式が入力されたセルを選択するとその数式 …

RemoveDuplicates メソッド 使用例1a
重複するデータを削除(RemoveDuplicates メソッド)

RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …

Validation プロパティ 使用例3
入力規則(入力時メッセージの設定)Validation オブジェクト

入力規則の入力時メッセージを表示する Validation.ShowInput …

外枠罫線の設定(BorderAround メソッド)

外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …

終端セルを参照する(End プロパティ)

End プロパティ End プロパティは、基準となるセルが含まれる領域の指定した …

文字の向きを表す値を取得・設定する(Orientation プロパティ)

Orientation プロパティ Orientation プロパティで、文字列 …

セル・セル範囲を貼り付ける(Paste メソッド)

Paste メソッド Paste メソッドは、クリップボードの内容を指定したセル …