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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

グラデーション(Pattern プロパティ・Gradient プロパティ)

セルの背景ににグラデーションを設定する Pattern プロパティを使用するとセ …

対象のセルが配列数式の一部かどうか(HasArray プロパティ)

HasArray プロパティ HasArray プロパティは、対象のセルが配列数 …

セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)

セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …

列幅を取得・設定・する(ColumnWidth プロパティ)

ColumnWidth プロパティ ColumnWidth プロパティは、対象セ …

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

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

使用中のセル範囲を取得(UsedRange プロパティ)

UsedRange プロパティ UsedRange プロパティは、指定したワーク …

オートフィルタの設定と解除(AutoFilter メソッド)

AutoFilter メソッド オートフィルタを設定する場合、AutoFilte …

Validation オブジェクト 使用例5
入力規則(日本語入力)Validation オブジェクト,IMEMode プロパティ

IMEMode プロパティ Validation.IMEMode プロパティ を …

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

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

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

HorizontalAlignment プロパティ HorizontalAlig …